]> git.dujemihanovic.xyz Git - linux.git/commit
s390/zcrypt: Handle ep11 cprb return code
authorHarald Freudenberger <freude@linux.ibm.com>
Mon, 25 Mar 2024 08:59:19 +0000 (09:59 +0100)
committerAlexander Gordeev <agordeev@linux.ibm.com>
Wed, 1 May 2024 09:52:54 +0000 (11:52 +0200)
commitc0e983b697f45f5e413b00c94037e56b7870cfcd
tree29941123f9326d578de9b176d77707ae570fe1f8
parenta4499998c7f4dfa15ddba18b266e187cf29b7c76
s390/zcrypt: Handle ep11 cprb return code

An EP11 reply cprb contains a field ret_code which may
hold an error code different than the error code stored
in the payload of the cprb. As of now all the EP11 misc
functions do not evaluate this field but focus on the
error code in the payload.

Before checking the payload error, first the cprb error
field should be evaluated which is introduced with this
patch.

If the return code value 0x000c0003 is seen, this
indicates a busy situation which is reflected by
-EBUSY in the zcrpyt_ep11misc.c low level function.
A higher level caller should consider to retry after
waiting a dedicated duration (say 1 second).

Fixes: ed6776c96c60 ("s390/crypto: remove retry loop with sleep from PAES pkey invocation")
Signed-off-by: Harald Freudenberger <freude@linux.ibm.com>
Reviewed-by: Ingo Franzki <ifranzki@linux.ibm.com>
Reviewed-by: Holger Dengler <dengler@linux.ibm.com>
Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
drivers/s390/crypto/zcrypt_ep11misc.c