linux/drivers/s390/crypto
Tony Krowiak 8c0795d2a0 s390/vfio-ap: clean up mdev resources when remove callback invoked
The mdev remove callback for the vfio_ap device driver bails out with
-EBUSY if the mdev is in use by a KVM guest (i.e., the KVM pointer in the
struct ap_matrix_mdev is not NULL). The intended purpose was
to prevent the mdev from being removed while in use. There are two
problems with this scenario:

1. Returning a non-zero return code from the remove callback does not
   prevent the removal of the mdev.

2. The KVM pointer in the struct ap_matrix_mdev will always be NULL because
   the remove callback will not get invoked until the mdev fd is closed.
   When the mdev fd is closed, the mdev release callback is invoked and
   clears the KVM pointer from the struct ap_matrix_mdev.

Let's go ahead and remove the check for KVM in the remove callback and
allow the cleanup of mdev resources to proceed.

Signed-off-by: Tony Krowiak <akrowiak@linux.ibm.com>
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Link: https://lore.kernel.org/r/20210609224634.575156-2-akrowiak@linux.ibm.com
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
2021-06-21 11:19:18 +02:00
..
ap_bus.c s390/ap: let bus_register() add the AP bus sysfs attributes 2020-11-30 14:10:50 +01:00
ap_bus.h s390/ap: ap bus userspace notifications for some bus conditions 2020-11-09 11:21:00 +01:00
ap_card.c s390/ap: Support AP card SCLP config and deconfig operations 2020-10-07 21:50:01 +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: Fix hanging ioctl caused by wrong msg counter 2021-06-16 23:32:02 +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: No need to disable IRQ after queue reset 2021-01-27 13:00:04 +01:00
vfio_ap_ops.c s390/vfio-ap: clean up mdev resources when remove callback invoked 2021-06-21 11:19:18 +02:00
vfio_ap_private.h s390/vfio-ap: fix circular lockdep when setting/clearing crypto masks 2021-04-05 11:30:58 +02:00
zcrypt_api.c s390/zcrypt: return EIO when msg retry limit reached 2021-02-09 15:57:04 +01:00
zcrypt_api.h s390/zcrypt/pkey: introduce zcrypt_wait_api_operational() function 2020-11-09 11:21:00 +01:00
zcrypt_card.c s390/zcrypt: fix zcard and zqueue hot-unplug memleak 2021-04-21 12:32:12 +02:00
zcrypt_cca_key.h
zcrypt_ccamisc.c s390/crypto: improve retry logic in case of master key change 2021-01-27 13:00:48 +01:00
zcrypt_ccamisc.h s390/pkey: support CCA and EP11 secure ECC private keys 2020-09-24 10:03:28 +02:00
zcrypt_cex2a.c s390/zcrypt: convert comma to semicolon 2020-12-16 14:55:50 +01:00
zcrypt_cex2a.h
zcrypt_cex2c.c s390/zcrypt: introduce msg tracking in zcrypt functions 2020-10-07 21:49:59 +02:00
zcrypt_cex2c.h
zcrypt_cex4.c s390/zcrypt: convert comma to semicolon 2020-12-16 14:55:50 +01:00
zcrypt_cex4.h
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/zcrypt: Introduce Failure Injection feature 2020-10-07 21:50:01 +02:00
zcrypt_msgtype6.h s390/zcrypt: remove set_fs() invocation in zcrypt device driver 2020-09-17 14:11:03 +02:00
zcrypt_msgtype50.c s390/zcrypt: Introduce Failure Injection feature 2020-10-07 21:50:01 +02:00
zcrypt_msgtype50.h
zcrypt_queue.c s390/zcrypt: fix zcard and zqueue hot-unplug memleak 2021-04-21 12:32:12 +02:00