[PATCH v2 0/6] s390/vfio-ap: reset queues removed from guest's AP configuration

From: Tony Krowiak
Date: Tue Dec 12 2023 - 16:25:32 EST


All queues removed from a guest's AP configuration must be reset so when
they are subsequently made available again to a guest, they re-appear in a
reset state. There are some scenarios where this is not the case. For
example, if a queue device that is passed through to a guest is unbound
from the vfio_ap device driver, the adapter to which the queue is attached
will be removed from the guest's AP configuration. Doing so implicitly
removes all queues associated with that adapter because the AP architecture
precludes removing a single queue. Those queues also need to be reset.

This patch series ensures that all queues removed from a guest's AP
configuration are reset for all possible scenarios.

Changelog v1=> v2:
-----------------
* Restored Halil's Acked-by and Reviewed-by tags (Halil)

* Restored Halil's code refactor of reset_queues_for_apids function in
patch 4

Tony Krowiak (6):
s390/vfio-ap: always filter entire AP matrix
s390/vfio-ap: loop over the shadow APCB when filtering guest's AP
configuration
s390/vfio-ap: let 'on_scan_complete' callback filter matrix and update
guest's APCB
s390/vfio-ap: reset queues filtered from the guest's AP config
s390/vfio-ap: reset queues associated with adapter for queue unbound
from driver
s390/vfio-ap: do not reset queue removed from host config

drivers/s390/crypto/vfio_ap_ops.c | 268 +++++++++++++++++---------
drivers/s390/crypto/vfio_ap_private.h | 11 +-
2 files changed, 184 insertions(+), 95 deletions(-)

--
2.43.0