From: Harald Freudenberger <freude@linux.ibm.com>
To: dengler@linux.ibm.com, fcallies@linux.ibm.com, ifranzki@linux.ibm.com
Cc: freude@linux.ibm.com, linux-s390@vger.kernel.org,
Heiko Carstens <hca@linux.ibm.com>,
Vasily Gorbik <gor@linux.ibm.com>,
Alexander Gordeev <agordeev@linux.ibm.com>
Subject: [PATCH v4 0/7] Fixes and rework for paes_s390 and phmac_s390
Date: Wed, 19 Aug 2026 11:17:27 +0200 [thread overview]
Message-ID: <20260819091734.7331-1-freude@linux.ibm.com> (raw)
Fix and rework some issues around arch/s390/paes_s390.c and
arch/s390/phmac_s390.c:
- Fix skcipher_walk return code handling in paes_s390
- Add scrub of some temp buffers
- Shift from using a mutex to using a semaphore in PAES CTR
Surprisingly clang code analysis is able to deal with semaphores and
thus the shift also fixes the issue with CONTEXT_ANALYSIS enabled.
- And some more fixes related to paes and phmac (see changelog).
For more details please see patch headers.
Changelog:
v1: initial version - however, all these patches are follow up patches
from a similar patch queue for aes_s390.c
v2: - On one error path in the CTR implementation the scrubbing of a
temp buffer could be bypassed. Also checked Sashikos claim about
possible double free but this is not the case.
- All paes algorithms did not set any base.cra_flags. So now set
the ASYNC and the NO_FALLBACK flag.
- If a request is pushed to the crypto engine there is another
return code EBUSY also indicating success but the code handled
this as a failure.
- The very same was with the phmac implementation. So corrected
the return code handling there as well.
v3: - Reworked the -EBUSY handling in paes and phmac again. The
synchronous path could have emitted -EBUSY also and would have
triggered the failure handling. So map -EBUSY to -EINPROGRESS.
v4: - Mapping EBUSY to EINPROGRESS is not the right approach. So
reworked again more thoroughly.
- There came another reply from Sashiko about a possible double
processing maybe even double free as a result of wrongly
returning a failure code in the callback functions back to the
engine when a request has been completed. The callback must
return 0 - so another patch for this.
Harald Freudenberger (7):
s390/crypto: Fix return code handling at skcipher_walk_done in PAES
algorithms
s390/crypto: Fix missing scrub of temp buffers with PAES algorithm
s390/crypto: Fix use of mutex in atomic context in PAES
s390/crypto: Fix missing cra_flags in paes_s390
s390/crypto: Fix handling of EBUSY in PAES when req is pushed to
crypto engine
s390/crypto: Fix handling of EBUSY in PHMAC when req is pushed to
crypto engine
s390/crypto: Fix wrong return code to engine in asynch callbacks
arch/s390/crypto/paes_s390.c | 96 ++++++++++++++++++++++++-----------
arch/s390/crypto/phmac_s390.c | 32 ++++++++----
2 files changed, 87 insertions(+), 41 deletions(-)
--
2.43.0
next reply other threads:[~2026-08-19 9:17 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-19 9:17 Harald Freudenberger [this message]
2026-08-19 9:17 ` [PATCH v4 1/7] s390/crypto: Fix return code handling at skcipher_walk_done in PAES algorithms Harald Freudenberger
2026-08-19 9:31 ` sashiko-bot
2026-08-19 9:17 ` [PATCH v4 2/7] s390/crypto: Fix missing scrub of temp buffers with PAES algorithm Harald Freudenberger
2026-08-19 9:30 ` sashiko-bot
2026-08-19 9:17 ` [PATCH v4 3/7] s390/crypto: Fix use of mutex in atomic context in PAES Harald Freudenberger
2026-08-19 9:27 ` sashiko-bot
2026-08-19 9:17 ` [PATCH v4 4/7] s390/crypto: Fix missing cra_flags in paes_s390 Harald Freudenberger
2026-08-19 9:22 ` sashiko-bot
2026-08-19 9:17 ` [PATCH v4 5/7] s390/crypto: Fix handling of EBUSY in PAES when req is pushed to crypto engine Harald Freudenberger
2026-08-19 9:30 ` sashiko-bot
2026-08-19 9:47 ` Holger Dengler
2026-08-19 9:17 ` [PATCH v4 6/7] s390/crypto: Fix handling of EBUSY in PHMAC " Harald Freudenberger
2026-08-19 9:37 ` sashiko-bot
2026-08-19 13:23 ` Harald Freudenberger
2026-08-19 9:17 ` [PATCH v4 7/7] s390/crypto: Fix wrong return code to engine in asynch callbacks Harald Freudenberger
2026-08-19 9:28 ` sashiko-bot
2026-08-19 10:00 ` Holger Dengler
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260819091734.7331-1-freude@linux.ibm.com \
--to=freude@linux.ibm.com \
--cc=agordeev@linux.ibm.com \
--cc=dengler@linux.ibm.com \
--cc=fcallies@linux.ibm.com \
--cc=gor@linux.ibm.com \
--cc=hca@linux.ibm.com \
--cc=ifranzki@linux.ibm.com \
--cc=linux-s390@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox