lkml.org 
[lkml]   [2019]   [Aug]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.2 051/144] vfio-ccw: Set pa_nr to 0 if memory allocation fails for pa_iova_pfn
    Date
    [ Upstream commit c1ab69268d124ebdbb3864580808188ccd3ea355 ]

    So we don't call try to call vfio_unpin_pages() incorrectly.

    Fixes: 0a19e61e6d4c ("vfio: ccw: introduce channel program interfaces")
    Signed-off-by: Farhan Ali <alifm@linux.ibm.com>
    Reviewed-by: Eric Farman <farman@linux.ibm.com>
    Reviewed-by: Cornelia Huck <cohuck@redhat.com>
    Message-Id: <33a89467ad6369196ae6edf820cbcb1e2d8d050c.1562854091.git.alifm@linux.ibm.com>
    Signed-off-by: Cornelia Huck <cohuck@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/s390/cio/vfio_ccw_cp.c | 4 +++-
    1 file changed, 3 insertions(+), 1 deletion(-)

    diff --git a/drivers/s390/cio/vfio_ccw_cp.c b/drivers/s390/cio/vfio_ccw_cp.c
    index 0e79799e9a719..79eb40bdaf9f4 100644
    --- a/drivers/s390/cio/vfio_ccw_cp.c
    +++ b/drivers/s390/cio/vfio_ccw_cp.c
    @@ -89,8 +89,10 @@ static int pfn_array_alloc_pin(struct pfn_array *pa, struct device *mdev,
    sizeof(*pa->pa_iova_pfn) +
    sizeof(*pa->pa_pfn),
    GFP_KERNEL);
    - if (unlikely(!pa->pa_iova_pfn))
    + if (unlikely(!pa->pa_iova_pfn)) {
    + pa->pa_nr = 0;
    return -ENOMEM;
    + }
    pa->pa_pfn = pa->pa_iova_pfn + pa->pa_nr;

    pa->pa_iova_pfn[0] = pa->pa_iova >> PAGE_SHIFT;
    --
    2.20.1


    \
     
     \ /
      Last update: 2019-08-14 19:05    [W:4.157 / U:1.112 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site