linux/drivers/s390/crypto
Tony Krowiak b84eb8e050 s390/vfio-ap: use proper locking order when setting/clearing KVM pointer
The group notifier that handles the VFIO_GROUP_NOTIFY_SET_KVM event must
use the required locks in proper locking order to dynamically update the
guest's APCB. The proper locking order is:

       1. matrix_dev->guests_lock: required to use the KVM pointer to
          update a KVM guest's APCB.

       2. matrix_mdev->kvm->lock: required to update a KVM guest's APCB.

       3. matrix_dev->mdevs_lock: required to store or access the data
          stored in a struct ap_matrix_mdev instance.

Two macros are introduced to acquire and release the locks in the proper
order. These macros are now used by the group notifier functions.

Signed-off-by: Tony Krowiak <akrowiak@linux.ibm.com>
Reviewed-by: Jason J. Herne <jjherne@linux.ibm.com>
Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
2022-07-19 16:18:10 +02:00
..
ap_bus.c s390/zcrypt: code cleanup 2022-04-25 13:54:14 +02:00
ap_bus.h s390/zcrypt: code cleanup 2022-04-25 13:54:14 +02:00
ap_card.c s390/zcrypt: handle checkstopped cards with new state 2022-03-08 00:33:00 +01:00
ap_debug.h s390/zcrypt: rework of debug feature messages 2021-10-26 15:21:27 +02:00
ap_queue.c s390/zcrypt: code cleanup 2022-04-25 13:54:14 +02:00
Makefile s390/zcrypt: add new low level ep11 functions support file 2020-01-30 13:07:55 +01:00
pkey_api.c s390/zcrypt: code cleanup 2022-04-25 13:54:14 +02:00
vfio_ap_debug.h s390-vfio-ap: introduces s390 kernel debug feature for vfio_ap device driver 2022-02-06 23:31:29 +01:00
vfio_ap_drv.c s390/vfio-ap: introduce new mutex to control access to the KVM pointer 2022-07-19 16:18:10 +02:00
vfio_ap_ops.c s390/vfio-ap: use proper locking order when setting/clearing KVM pointer 2022-07-19 16:18:10 +02:00
vfio_ap_private.h s390/vfio-ap: introduce new mutex to control access to the KVM pointer 2022-07-19 16:18:10 +02:00
zcrypt_api.c s390/zcrypt: code cleanup 2022-04-25 13:54:14 +02:00
zcrypt_api.h s390/zcrypt: code cleanup 2022-04-25 13:54:14 +02:00
zcrypt_card.c s390/zcrypt: code cleanup 2022-04-25 13:54:14 +02:00
zcrypt_cca_key.h s390/zcrypt: code cleanup 2022-04-25 13:54:14 +02:00
zcrypt_ccamisc.c s390/zcrypt: code cleanup 2022-04-25 13:54:14 +02:00
zcrypt_ccamisc.h s390/zcrypt: add display of ASYM master key verification pattern 2022-04-25 13:54:13 +02:00
zcrypt_cex2a.c s390/zcrypt: code cleanup 2022-04-25 13:54:14 +02:00
zcrypt_cex2a.h s390/zcrypt: zcrypt device driver cleanup 2018-10-09 11:21:35 +02:00
zcrypt_cex2c.c s390/zcrypt: code cleanup 2022-04-25 13:54:14 +02:00
zcrypt_cex2c.h s390/zcrypt: zcrypt device driver cleanup 2018-10-09 11:21:35 +02:00
zcrypt_cex4.c s390/zcrypt: code cleanup 2022-04-25 13:54:14 +02:00
zcrypt_cex4.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
zcrypt_debug.h s390/zcrypt: rework of debug feature messages 2021-10-26 15:21:27 +02:00
zcrypt_ep11misc.c s390/zcrypt: code cleanup 2022-04-25 13:54:14 +02:00
zcrypt_ep11misc.h s390/zcrypt: code cleanup 2022-04-25 13:54:14 +02:00
zcrypt_error.h s390/zcrypt: code cleanup 2022-04-25 13:54:14 +02:00
zcrypt_msgtype6.c s390/zcrypt: code cleanup 2022-04-25 13:54:14 +02:00
zcrypt_msgtype6.h s390/zcrypt: code cleanup 2022-04-25 13:54:14 +02:00
zcrypt_msgtype50.c s390/zcrypt: code cleanup 2022-04-25 13:54:14 +02:00
zcrypt_msgtype50.h s390/zcrypt: Support CPRB minor version T7 2022-03-08 00:33:00 +01:00
zcrypt_queue.c s390/zcrypt: code cleanup 2022-04-25 13:54:14 +02:00