Commit c1ab6926 authored by Farhan Ali's avatar Farhan Ali Committed by Cornelia Huck

vfio-ccw: Set pa_nr to 0 if memory allocation fails for pa_iova_pfn

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

Fixes: 0a19e61e ("vfio: ccw: introduce channel program interfaces")
Signed-off-by: default avatarFarhan Ali <alifm@linux.ibm.com>
Reviewed-by: default avatarEric Farman <farman@linux.ibm.com>
Reviewed-by: default avatarCornelia Huck <cohuck@redhat.com>
Message-Id: <33a89467ad6369196ae6edf820cbcb1e2d8d050c.1562854091.git.alifm@linux.ibm.com>
Signed-off-by: default avatarCornelia Huck <cohuck@redhat.com>
parent 8b515be5
...@@ -72,8 +72,10 @@ static int pfn_array_alloc(struct pfn_array *pa, u64 iova, unsigned int len) ...@@ -72,8 +72,10 @@ static int pfn_array_alloc(struct pfn_array *pa, u64 iova, unsigned int len)
sizeof(*pa->pa_iova_pfn) + sizeof(*pa->pa_iova_pfn) +
sizeof(*pa->pa_pfn), sizeof(*pa->pa_pfn),
GFP_KERNEL); GFP_KERNEL);
if (unlikely(!pa->pa_iova_pfn)) if (unlikely(!pa->pa_iova_pfn)) {
pa->pa_nr = 0;
return -ENOMEM; return -ENOMEM;
}
pa->pa_pfn = pa->pa_iova_pfn + pa->pa_nr; pa->pa_pfn = pa->pa_iova_pfn + pa->pa_nr;
pa->pa_iova_pfn[0] = pa->pa_iova >> PAGE_SHIFT; pa->pa_iova_pfn[0] = pa->pa_iova >> PAGE_SHIFT;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment