Message ID | 20231018133829.147226-2-akrowiak@linux.ibm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | a couple of corrections to the IRQ enablement function | expand |
Am 18.10.23 um 15:38 schrieb Tony Krowiak: > From: Anthony Krowiak <akrowiak@linux.ibm.com> > > In the vfio_ap_irq_enable function, after the page containing the > notification indicator byte (NIB) is pinned, the function attempts > to register the guest ISC. If registration fails, the function sets the > status response code and returns without unpinning the page containing > the NIB. In order to avoid a memory leak, the NIB should be unpinned before > returning from the vfio_ap_irq_enable function. > > Signed-off-by: Janosch Frank <frankja@linux.ibm.com> Where is Janoschs signed off coming from here? > Signed-off-by: Anthony Krowiak <akrowiak@linux.ibm.com> > Reviewed-by: Matthew Rosato <mjrosato@linux.ibm.com> > Fixes: 783f0a3ccd79 ("s390/vfio-ap: add s390dbf logging to the vfio_ap_irq_enable function") > Cc: <stable@vger.kernel.org> > --- > drivers/s390/crypto/vfio_ap_ops.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/s390/crypto/vfio_ap_ops.c b/drivers/s390/crypto/vfio_ap_ops.c > index 4db538a55192..9cb28978c186 100644 > --- a/drivers/s390/crypto/vfio_ap_ops.c > +++ b/drivers/s390/crypto/vfio_ap_ops.c > @@ -457,6 +457,7 @@ static struct ap_queue_status vfio_ap_irq_enable(struct vfio_ap_queue *q, > VFIO_AP_DBF_WARN("%s: gisc registration failed: nisc=%d, isc=%d, apqn=%#04x\n", > __func__, nisc, isc, q->apqn); > > + vfio_unpin_pages(&q->matrix_mdev->vdev, nib, 1); > status.response_code = AP_RESPONSE_INVALID_GISA; > return status; > }
On 10/26/23 08:18, Christian Borntraeger wrote: > > > Am 18.10.23 um 15:38 schrieb Tony Krowiak: >> From: Anthony Krowiak <akrowiak@linux.ibm.com> >> >> In the vfio_ap_irq_enable function, after the page containing the >> notification indicator byte (NIB) is pinned, the function attempts >> to register the guest ISC. If registration fails, the function sets the >> status response code and returns without unpinning the page containing >> the NIB. In order to avoid a memory leak, the NIB should be unpinned >> before >> returning from the vfio_ap_irq_enable function. >> >> Signed-off-by: Janosch Frank <frankja@linux.ibm.com> > > Where is Janoschs signed off coming from here? Janosch found this and composed the patch originally. I just tweaked the description and posted it. > >> Signed-off-by: Anthony Krowiak <akrowiak@linux.ibm.com> >> Reviewed-by: Matthew Rosato <mjrosato@linux.ibm.com> >> Fixes: 783f0a3ccd79 ("s390/vfio-ap: add s390dbf logging to the >> vfio_ap_irq_enable function") >> Cc: <stable@vger.kernel.org> >> --- >> drivers/s390/crypto/vfio_ap_ops.c | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/drivers/s390/crypto/vfio_ap_ops.c >> b/drivers/s390/crypto/vfio_ap_ops.c >> index 4db538a55192..9cb28978c186 100644 >> --- a/drivers/s390/crypto/vfio_ap_ops.c >> +++ b/drivers/s390/crypto/vfio_ap_ops.c >> @@ -457,6 +457,7 @@ static struct ap_queue_status >> vfio_ap_irq_enable(struct vfio_ap_queue *q, >> VFIO_AP_DBF_WARN("%s: gisc registration failed: nisc=%d, >> isc=%d, apqn=%#04x\n", >> __func__, nisc, isc, q->apqn); >> + vfio_unpin_pages(&q->matrix_mdev->vdev, nib, 1); >> status.response_code = AP_RESPONSE_INVALID_GISA; >> return status; >> }
Am 26.10.23 um 15:16 schrieb Tony Krowiak: > > > On 10/26/23 08:18, Christian Borntraeger wrote: >> >> >> Am 18.10.23 um 15:38 schrieb Tony Krowiak: >>> From: Anthony Krowiak <akrowiak@linux.ibm.com> >>> >>> In the vfio_ap_irq_enable function, after the page containing the >>> notification indicator byte (NIB) is pinned, the function attempts >>> to register the guest ISC. If registration fails, the function sets the >>> status response code and returns without unpinning the page containing >>> the NIB. In order to avoid a memory leak, the NIB should be unpinned before >>> returning from the vfio_ap_irq_enable function. >>> >>> Signed-off-by: Janosch Frank <frankja@linux.ibm.com> >> >> Where is Janoschs signed off coming from here? > > Janosch found this and composed the patch originally. I just tweaked the description and posted it. So we should add Co-developed-by: Janosch Frank <frankja@linux.ibm.com> in front of Janoschs signoff. > >> >>> Signed-off-by: Anthony Krowiak <akrowiak@linux.ibm.com> >>> Reviewed-by: Matthew Rosato <mjrosato@linux.ibm.com> >>> Fixes: 783f0a3ccd79 ("s390/vfio-ap: add s390dbf logging to the vfio_ap_irq_enable function") >>> Cc: <stable@vger.kernel.org> >>> --- >>> drivers/s390/crypto/vfio_ap_ops.c | 1 + >>> 1 file changed, 1 insertion(+) >>> >>> diff --git a/drivers/s390/crypto/vfio_ap_ops.c b/drivers/s390/crypto/vfio_ap_ops.c >>> index 4db538a55192..9cb28978c186 100644 >>> --- a/drivers/s390/crypto/vfio_ap_ops.c >>> +++ b/drivers/s390/crypto/vfio_ap_ops.c >>> @@ -457,6 +457,7 @@ static struct ap_queue_status vfio_ap_irq_enable(struct vfio_ap_queue *q, >>> VFIO_AP_DBF_WARN("%s: gisc registration failed: nisc=%d, isc=%d, apqn=%#04x\n", >>> __func__, nisc, isc, q->apqn); >>> + vfio_unpin_pages(&q->matrix_mdev->vdev, nib, 1); >>> status.response_code = AP_RESPONSE_INVALID_GISA; >>> return status; >>> }
On 10/26/23 09:25, Christian Borntraeger wrote: > > > Am 26.10.23 um 15:16 schrieb Tony Krowiak: >> >> >> On 10/26/23 08:18, Christian Borntraeger wrote: >>> >>> >>> Am 18.10.23 um 15:38 schrieb Tony Krowiak: >>>> From: Anthony Krowiak <akrowiak@linux.ibm.com> >>>> >>>> In the vfio_ap_irq_enable function, after the page containing the >>>> notification indicator byte (NIB) is pinned, the function attempts >>>> to register the guest ISC. If registration fails, the function sets the >>>> status response code and returns without unpinning the page containing >>>> the NIB. In order to avoid a memory leak, the NIB should be unpinned >>>> before >>>> returning from the vfio_ap_irq_enable function. >>>> >>>> Signed-off-by: Janosch Frank <frankja@linux.ibm.com> >>> >>> Where is Janoschs signed off coming from here? >> >> Janosch found this and composed the patch originally. I just tweaked >> the description and posted it. > > So we should add > > Co-developed-by: Janosch Frank <frankja@linux.ibm.com> > > in front of Janoschs signoff. Will do. > >> >>> >>>> Signed-off-by: Anthony Krowiak <akrowiak@linux.ibm.com> >>>> Reviewed-by: Matthew Rosato <mjrosato@linux.ibm.com> >>>> Fixes: 783f0a3ccd79 ("s390/vfio-ap: add s390dbf logging to the >>>> vfio_ap_irq_enable function") >>>> Cc: <stable@vger.kernel.org> >>>> --- >>>> drivers/s390/crypto/vfio_ap_ops.c | 1 + >>>> 1 file changed, 1 insertion(+) >>>> >>>> diff --git a/drivers/s390/crypto/vfio_ap_ops.c >>>> b/drivers/s390/crypto/vfio_ap_ops.c >>>> index 4db538a55192..9cb28978c186 100644 >>>> --- a/drivers/s390/crypto/vfio_ap_ops.c >>>> +++ b/drivers/s390/crypto/vfio_ap_ops.c >>>> @@ -457,6 +457,7 @@ static struct ap_queue_status >>>> vfio_ap_irq_enable(struct vfio_ap_queue *q, >>>> VFIO_AP_DBF_WARN("%s: gisc registration failed: nisc=%d, >>>> isc=%d, apqn=%#04x\n", >>>> __func__, nisc, isc, q->apqn); >>>> + vfio_unpin_pages(&q->matrix_mdev->vdev, nib, 1); >>>> status.response_code = AP_RESPONSE_INVALID_GISA; >>>> return status; >>>> }
diff --git a/drivers/s390/crypto/vfio_ap_ops.c b/drivers/s390/crypto/vfio_ap_ops.c index 4db538a55192..9cb28978c186 100644 --- a/drivers/s390/crypto/vfio_ap_ops.c +++ b/drivers/s390/crypto/vfio_ap_ops.c @@ -457,6 +457,7 @@ static struct ap_queue_status vfio_ap_irq_enable(struct vfio_ap_queue *q, VFIO_AP_DBF_WARN("%s: gisc registration failed: nisc=%d, isc=%d, apqn=%#04x\n", __func__, nisc, isc, q->apqn); + vfio_unpin_pages(&q->matrix_mdev->vdev, nib, 1); status.response_code = AP_RESPONSE_INVALID_GISA; return status; }