All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Huth <thuth@redhat.com>
To: Herbert Xu <herbert@gondor.apana.org.au>,
	"David S. Miller" <davem@davemloft.net>,
	linux-kernel@vger.kernel.org, linux-crypto@vger.kernel.org
Cc: Simo Sorce <simo@redhat.com>
Subject: [PATCH v2 0/9] crypto: Provide a function for zeroizing crypto_aes_ctx
Date: Mon,  3 Aug 2026 11:44:19 +0200	[thread overview]
Message-ID: <20260803094432.70505-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 some drivers). Some other call sites miss
to clear crypto_aes_ctx completely.

To improve this situation, the first patch introduces an aes_clear_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 two patches change some files to do the zeroization with
the new __cleanup() way instead of calling memzero_explicit() manually.

v2:
- I sent out v1 last week, but I think it never reached the mailing list.
  Either a PEBKAC or a mail server problem... 🤷‍♂️ 
- Rebased onto cryptodev master branch, updated the "qat" patch accordingly

Thomas Huth (9):
  crypto: Provide a wrapper 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: safexcel - zeroize crypto_aes_ctx with
    __cleanup(aes_clear_ctx)
  crypto: qat - zeroize crypto_aes_ctx with __cleanup(aes_clear_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 +--
 drivers/crypto/inside-secure/eip93/eip93-aead.c   |  2 +-
 drivers/crypto/inside-secure/eip93/eip93-cipher.c |  2 +-
 drivers/crypto/inside-secure/safexcel_cipher.c    | 15 +++++----------
 drivers/crypto/inside-secure/safexcel_hash.c      |  3 +--
 drivers/crypto/intel/qat/qat_common/qat_algs.c    |  3 +--
 drivers/crypto/padlock-aes.c                      |  2 +-
 drivers/crypto/sa2ul.c                            |  2 +-
 include/crypto/aes.h                              | 13 +++++++++++++
 11 files changed, 27 insertions(+), 22 deletions(-)

-- 
2.55.0


             reply	other threads:[~2026-08-03  9:44 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-03  9:44 Thomas Huth [this message]
2026-08-03  9:44 ` [PATCH v2 1/9] crypto: Provide a wrapper for zeroizing crypto_aes_ctx Thomas Huth
2026-08-03 19:05   ` Eric Biggers
2026-08-04  2:21     ` Simon Richter
2026-08-04  2:37       ` Eric Biggers
2026-08-04  7:42     ` Thomas Huth
2026-08-04 18:54       ` Eric Biggers
2026-08-03  9:44 ` [PATCH v2 2/9] crypto: aspeed - clear the crypto_aes_ctx when done Thomas Huth
2026-08-03  9:44 ` [PATCH v2 3/9] crypto: inside-secure/eip93 " Thomas Huth
2026-08-03  9:44 ` [PATCH v2 4/9] crypto: padlock-aes " Thomas Huth
2026-08-03  9:44 ` [PATCH v2 5/9] crypto: sa2ul " Thomas Huth
2026-08-03  9:44 ` [PATCH v2 6/9] crypto: arm/aes-neonbs " Thomas Huth
2026-08-03  9:44 ` [PATCH v2 7/9] crypto: arm64/aes-neonbs " Thomas Huth
2026-08-03  9:44 ` [PATCH v2 8/9] crypto: safexcel - zeroize crypto_aes_ctx with __cleanup(aes_clear_ctx) Thomas Huth
2026-08-03  9:44 ` [PATCH v2 9/9] crypto: qat " 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=20260803094432.70505-1-thuth@redhat.com \
    --to=thuth@redhat.com \
    --cc=davem@davemloft.net \
    --cc=herbert@gondor.apana.org.au \
    --cc=linux-crypto@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=simo@redhat.com \
    /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.