[PATCH v3 0/4] s390/vfio-ap: Fix pre-existing bugs in vfio_ap device driver

From: Anthony Krowiak

Date: Thu Aug 27 2026 - 09:39:12 EST


The sashiko AI reported several pre-existing bugs in the vfio_ap device
driver code while reviewing unrelated patches. This series fixes four
such bugs.

Change log v2 => v3:
~~~~~~~~~~~~~~~~~~~
Patch 1/4: Fix leak of pinned NIB and registered NISC in \
vfio_ap_irq_enable()
* Added fix for leak of pinned NIB and registered NISC in
vfio_ap_irq_disable().
~ Changed subject line to include vfio_ap_irq_enable/disable()
* Add a bool return code from vfio_ap_wait_for_irqclear() to
notify caller whether the IR bit in the status returned from
TAPQ is cleared. The caller will use this to determine whether
the AQIC resources should be freed or not. Also:
~ Edited the doc block preceding the function to provide a clearer
explanation about what the function does.
~ Edited the WARN_ON message to make it more understandable for someone
that doesn't know architectural internals.
* Modified the response to the AP_RESPONSE_OTHERWISE_CHANGED case in the
switch (status.response_code) block in vfop_ap_irq_enable(). This
response comes with CC=3 indicating the NIB and ISC were not accepted
by hardware, so the AQIC resources are freed for this case.

Anthony Krowiak (4):
s390/vfio-ap: Fix leak of pinned NIB and registered NISC in
vfio_ap_irq_enable/disable()
s390/vfio-ap: Fix failure to release IRQ notification eventfd contexts
s390/vfio-ap: Fix unbounded loop in apq_reset_check()
s390/vfio-ap: Use AP_DOMAINS for adm_add bitmap size in
vfio_ap_mdev_cfg_add()

drivers/s390/crypto/vfio_ap_ops.c | 148 +++++++++++++++++++++++++-----
1 file changed, 123 insertions(+), 25 deletions(-)

--
2.53.0