linux_dsm_epyc7002/drivers/s390/crypto
Harald Freudenberger f06ce8ddbd s390/zcrypt: return EIO when msg retry limit reached
[ Upstream commit d39fae45c97c67b1b4da04773f2bb5a2f29088c4 ]

When a msg is retried because the lower ap layer returns -EAGAIN
there is a retry limit (currently 10). When this limit is reached
the last return code from the lower layer is returned, causing
the userspace to get -1 on the ioctl with errno EAGAIN.

This EAGAIN is misleading here. After 10 retry attempts the
userspace should receive a clear failure indication like EINVAL
or EIO or ENODEV. However, the reason why these retries all
fail is unclear. On an invalid message EINVAL would be returned
by the lower layer, and if devices go away or are not available
an ENODEV is seen. So this patch now reworks the retry loops
to return EIO to userspace when the retry limit is reached.

Fixes: 91ffc519c1 ("s390/zcrypt: introduce msg tracking in zcrypt functions")
Signed-off-by: Harald Freudenberger <freude@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-03-04 11:37:48 +01:00
..
ap_bus.c s390/ap: fix ap devices reference counting 2020-11-03 15:12:15 +01:00
ap_bus.h s390/zcrypt: Introduce Failure Injection feature 2020-10-07 21:50:01 +02: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/zcrypt: fix wrong format specifications 2020-10-09 23:45:30 +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/pkey: fix paes selftest failure with paes and pkey static build 2020-11-03 15:12:16 +01:00
vfio_ap_drv.c s390/vfio-ap: No need to disable IRQ after queue reset 2021-02-03 23:28:39 +01:00
vfio_ap_ops.c s390/vfio-ap: No need to disable IRQ after queue reset 2021-02-03 23:28:39 +01:00
vfio_ap_private.h s390/vfio-ap: No need to disable IRQ after queue reset 2021-02-03 23:28:39 +01:00
zcrypt_api.c s390/zcrypt: return EIO when msg retry limit reached 2021-03-04 11:37:48 +01:00
zcrypt_api.h s390/zcrypt: Introduce Failure Injection feature 2020-10-07 21:50:01 +02:00
zcrypt_card.c s390/ap: fix ap devices reference counting 2020-11-03 15:12:15 +01:00
zcrypt_cca_key.h s390/zcrypt: zcrypt device driver cleanup 2018-10-09 11:21:35 +02:00
zcrypt_ccamisc.c s390 updates for the 5.10 merge window 2020-10-16 12:36:38 -07: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: introduce msg tracking in zcrypt functions 2020-10-07 21:49:59 +02: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/zcrypt: introduce msg tracking in zcrypt functions 2020-10-07 21:49:59 +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/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 s390/zcrypt: zcrypt device driver cleanup 2018-10-09 11:21:35 +02:00
zcrypt_queue.c s390/ap: fix ap devices reference counting 2020-11-03 15:12:15 +01:00