From: Thomas Huth <thuth@redhat.com>
To: Herbert Xu <herbert@gondor.apana.org.au>,
"David S. Miller" <davem@davemloft.net>
Cc: linux-crypto@vger.kernel.org, Eric Biggers <ebiggers@kernel.org>,
linux-kernel@vger.kernel.org
Subject: [PATCH v4 00/10] crypto: Provide a function for zeroizing crypto_aes_ctx
Date: Fri, 7 Aug 2026 09:06:27 +0200 [thread overview]
Message-ID: <20260807070651.228713-1-thuth@redhat.com> (raw)
Several crypto drivers need to zeroize their local crypto_aes_ctx
structures after use to avoid leaking key material on the stack.
Currently some call sites do this with their own memzero_explicit()
call, which is error-prone since it is easy to miss a return path
(what already happened in a driver). Some other call sites miss
to clear crypto_aes_ctx completely.
To improve this situation, the first patch introduces an aes_zeroize_ctx()
helper that can be used with __cleanup() to automatically zeroize the
context when it goes out of scope. The following 6 patches add this
__cleanup() to spots in the code where this has been forgotten so far.
The final patches change some files to do the zeroization with
the new __cleanup() way instead of calling memzero_explicit() manually.
v4:
- Updated the function description in the first patch
- Fixed "return err" bug in the "safexcel - Rework cleanup..." patch
v3:
- Renamed aes_clear_ctx() to aes_zeroize_ctx()
- Split up the safeexcel patch to rework safexcel_aead_setkey in a
separate patch
- Removed goto in the padlock patch
v2:
- Rebased onto cryptodev master branch, updated the "qat" patch accordingly
Thomas Huth (10):
crypto: Provide a wrapper function for zeroizing crypto_aes_ctx
crypto: aspeed - clear the crypto_aes_ctx when done
crypto: inside-secure/eip93 - clear the crypto_aes_ctx when done
crypto: padlock-aes - clear the crypto_aes_ctx when done
crypto: sa2ul - clear the crypto_aes_ctx when done
crypto: arm/aes-neonbs - clear the crypto_aes_ctx when done
crypto: arm64/aes-neonbs - clear the crypto_aes_ctx when done
crypto: qat - zeroize crypto_aes_ctx with __cleanup(aes_zeroize_ctx)
crypto: safexcel - Rework cleanup of sensitive structs in
safexcel_aead_setkey
crypto: safexcel - zeroize crypto_aes_ctx with
__cleanup(aes_zeroize_ctx)
arch/arm/crypto/aes-neonbs-glue.c | 2 +-
arch/arm64/crypto/aes-neonbs-glue.c | 2 +-
drivers/crypto/aspeed/aspeed-hace-crypto.c | 3 +-
.../crypto/inside-secure/eip93/eip93-aead.c | 2 +-
.../crypto/inside-secure/eip93/eip93-cipher.c | 2 +-
.../crypto/inside-secure/safexcel_cipher.c | 40 +++++++------------
drivers/crypto/inside-secure/safexcel_hash.c | 3 +-
.../crypto/intel/qat/qat_common/qat_algs.c | 3 +-
drivers/crypto/padlock-aes.c | 22 +++++-----
drivers/crypto/sa2ul.c | 2 +-
include/crypto/aes.h | 13 ++++++
11 files changed, 46 insertions(+), 48 deletions(-)
--
2.55.0
next reply other threads:[~2026-08-07 7:07 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-07 7:06 Thomas Huth [this message]
2026-08-07 7:06 ` [PATCH v4 01/10] crypto: Provide a wrapper function for zeroizing crypto_aes_ctx Thomas Huth
2026-08-07 7:06 ` [PATCH v4 02/10] crypto: aspeed - clear the crypto_aes_ctx when done Thomas Huth
2026-08-07 7:06 ` [PATCH v4 03/10] crypto: inside-secure/eip93 " Thomas Huth
2026-08-07 7:06 ` [PATCH v4 04/10] crypto: padlock-aes " Thomas Huth
2026-08-07 7:06 ` [PATCH v4 05/10] crypto: sa2ul " Thomas Huth
2026-08-07 7:06 ` [PATCH v4 06/10] crypto: arm/aes-neonbs " Thomas Huth
2026-08-07 7:06 ` [PATCH v4 07/10] crypto: arm64/aes-neonbs " Thomas Huth
2026-08-07 7:06 ` [PATCH v4 08/10] crypto: qat - zeroize crypto_aes_ctx with __cleanup(aes_zeroize_ctx) Thomas Huth
2026-08-07 7:06 ` [PATCH v4 09/10] crypto: safexcel - Rework cleanup of sensitive structs in safexcel_aead_setkey Thomas Huth
2026-08-07 7:40 ` Antoine Tenart
2026-08-07 8:02 ` Antoine Tenart
2026-08-10 8:43 ` Thomas Huth
2026-08-07 7:06 ` [PATCH v4 10/10] crypto: safexcel - zeroize crypto_aes_ctx with __cleanup(aes_zeroize_ctx) Thomas Huth
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=20260807070651.228713-1-thuth@redhat.com \
--to=thuth@redhat.com \
--cc=davem@davemloft.net \
--cc=ebiggers@kernel.org \
--cc=herbert@gondor.apana.org.au \
--cc=linux-crypto@vger.kernel.org \
--cc=linux-kernel@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.