linux_dsm_epyc7002/drivers/s390
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
..
block s390/dasd: fix list corruption of lcu list 2020-12-30 11:54:09 +01:00
char s390 updates for the 5.10 merge window 2020-10-16 12:36:38 -07:00
cio s390/cio: fix use-after-free in ccw_device_destroy_console 2020-12-30 11:53:46 +01:00
crypto s390/zcrypt: return EIO when msg retry limit reached 2021-03-04 11:37:48 +01:00
net s390/qeth: fix L2 header access in qeth_l3_osa_features_check() 2021-01-17 14:16:58 +01:00
scsi s390 updates for the 5.10 merge window 2020-10-16 12:36:38 -07:00
virtio
Makefile