linux/drivers/s390/crypto
Tony Krowiak 1e753732bd s390/vfio-ap: r/w lock for PQAP interception handler function pointer
The function pointer to the interception handler for the PQAP instruction
can get changed during the interception process. Let's add a
semaphore to struct kvm_s390_crypto to control read/write access to the
function pointer contained therein.

The semaphore must be locked for write access by the vfio_ap device driver
when notified that the KVM pointer has been set or cleared. It must be
locked for read access by the interception framework when the PQAP
instruction is intercepted.

Signed-off-by: Tony Krowiak <akrowiak@linux.ibm.com>
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com>
Link: https://lore.kernel.org/r/20210823212047.1476436-2-akrowiak@linux.ibm.com
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
2021-08-24 12:14:05 -06:00
..
ap_bus.c s390/AP: support new dynamic AP bus size limit 2021-07-05 12:44:23 +02:00
ap_bus.h s390/AP: support new dynamic AP bus size limit 2021-07-05 12:44:23 +02:00
ap_card.c s390/AP: support new dynamic AP bus size limit 2021-07-05 12:44:23 +02:00
ap_debug.h s390/ap: add error response code field for ap queue devices 2020-10-07 21:50:00 +02:00
ap_queue.c s390/ap: Rework ap_dqap to deal with messages greater than recv buffer 2021-07-08 15:37:27 +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/pkey: introduce zcrypt_wait_api_operational() function 2020-11-09 11:21:00 +01:00
vfio_ap_drv.c s390/vfio-ap: clean up vfio_ap_drv's definition 2021-06-07 17:07:00 +02:00
vfio_ap_ops.c s390/vfio-ap: r/w lock for PQAP interception handler function pointer 2021-08-24 12:14:05 -06:00
vfio_ap_private.h s390/vfio-ap: r/w lock for PQAP interception handler function pointer 2021-08-24 12:14:05 -06:00
zcrypt_api.c s390/AP: support new dynamic AP bus size limit 2021-07-05 12:44:23 +02:00
zcrypt_api.h s390/ap/zcrypt: notify userspace with online, config and mode info 2021-06-16 23:46:18 +02:00
zcrypt_card.c s390/ap/zcrypt: notify userspace with online, config and mode info 2021-06-16 23:46:18 +02:00
zcrypt_cca_key.h s390/zcrypt: zcrypt device driver cleanup 2018-10-09 11:21:35 +02:00
zcrypt_ccamisc.c s390/zcrypt: Switch to flexible array member 2021-06-28 11:18:28 +02:00
zcrypt_ccamisc.h s390/crypto: fix function/prototype mismatches 2021-06-07 17:06:58 +02:00
zcrypt_cex2a.c s390/zcrypt: convert comma to semicolon 2020-12-16 14:55:50 +01:00
zcrypt_cex2a.h s390/zcrypt: zcrypt device driver cleanup 2018-10-09 11:21:35 +02:00
zcrypt_cex2c.c s390/zcrypt: introduce msg tracking in zcrypt functions 2020-10-07 21:49:59 +02:00
zcrypt_cex2c.h s390/zcrypt: zcrypt device driver cleanup 2018-10-09 11:21:35 +02:00
zcrypt_cex4.c s390/AP: support new dynamic AP bus size limit 2021-07-05 12:44:23 +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/ap/zcrypt: revisit ap and zcrypt error handling 2020-10-07 21:50:01 +02:00
zcrypt_ep11misc.c s390/pkey: support CCA and EP11 secure ECC private keys 2020-09-24 10:03:28 +02:00
zcrypt_ep11misc.h s390/pkey: support CCA and EP11 secure ECC private keys 2020-09-24 10:03:28 +02:00
zcrypt_error.h s390/ap/zcrypt: revisit ap and zcrypt error handling 2020-10-07 21:50:01 +02:00
zcrypt_msgtype6.c s390/AP: support new dynamic AP bus size limit 2021-07-05 12:44:23 +02:00
zcrypt_msgtype6.h s390/AP: support new dynamic AP bus size limit 2021-07-05 12:44:23 +02:00
zcrypt_msgtype50.c s390/AP: support new dynamic AP bus size limit 2021-07-05 12:44:23 +02:00
zcrypt_msgtype50.h s390/zcrypt: zcrypt device driver cleanup 2018-10-09 11:21:35 +02:00
zcrypt_queue.c s390/AP: support new dynamic AP bus size limit 2021-07-05 12:44:23 +02:00