Message ID | 452bf0756d8b0efdb9fd1e1aa5d8c0e6a7f31c03.1562616169.git.alifm@linux.ibm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Some vfio-ccw fixes | expand |
On Mon, 8 Jul 2019 16:10:36 -0400 Farhan Ali <alifm@linux.ibm.com> wrote: > So we don't call try to call vfio_unpin_pages() incorrectly. > > Fixes: 0a19e61e6d4c ("vfio: ccw: introduce channel program interfaces") So that was there since the beginning :) > Signed-off-by: Farhan Ali <alifm@linux.ibm.com> > Reviewed-by: Eric Farman <farman@linux.ibm.com> > --- > 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 31a04a5..1b93863 100644 > --- a/drivers/s390/cio/vfio_ccw_cp.c > +++ b/drivers/s390/cio/vfio_ccw_cp.c > @@ -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_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; Reviewed-by: Cornelia Huck <cohuck@redhat.com>
diff --git a/drivers/s390/cio/vfio_ccw_cp.c b/drivers/s390/cio/vfio_ccw_cp.c index 31a04a5..1b93863 100644 --- a/drivers/s390/cio/vfio_ccw_cp.c +++ b/drivers/s390/cio/vfio_ccw_cp.c @@ -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_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;