From: Eric Biggers <ebiggers@kernel.org>
To: Thomas Huth <thuth@redhat.com>
Cc: Herbert Xu <herbert@gondor.apana.org.au>,
"David S. Miller" <davem@davemloft.net>,
linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/6] crypto: Provide wrapper functions for zeroizing aes_cmac_key and aes_cmac_ctx
Date: Wed, 5 Aug 2026 13:37:34 -0700 [thread overview]
Message-ID: <20260805203734.GF3438@quark> (raw)
In-Reply-To: <20260805143611.818559-2-thuth@redhat.com>
On Wed, Aug 05, 2026 at 04:36:04PM +0200, Thomas Huth wrote:
> crypto: Provide wrapper functions for zeroizing aes_cmac_key and aes_cmac_ctx
lib/crypto: aes-cmac: Add zeroization functions
> +/**
> + * aes_cmac_zeroize_key - Clear a aes_cmac_key structure
aes_cmac_zeroize_key() - Zeroize an aes_cmac_key structure
> + * @ctx: The location of the key structure that should be zeroized
> + *
> + * Explicitly fills the aes_cmac_key with zeroes. This should be done once
> + * the key is not required anymore to avoid that its contents are leaked
> + * on the stack or heap.
The mention of "heap" is kind of misleading, since normally
kfree_sensitive() would be used in that case. Maybe add: "Only required
if not using kfree_sensitive()."
> + */
> +static inline void aes_cmac_zeroize_key(struct aes_cmac_key *key)
> +{
> + memzero_explicit(key, sizeof(*key));
> +}
Also maybe put the function definition right after the definition of
struct aes_cmac_key itself, and likewise for struct aes_cmac_ctx. Then
they would be closely paired with the corresponding structs.
> /**
> * aes_cmac_zeroize_ctx - Clear a aes_cmac_ctx structure
aes_cmac_zeroize_ctx() - Zeroize an aes_cmac_ctx structure
Could we also get notes in the kerneldoc for aes_cmac_preparekey() and
aes_cmac_init()? For example:
"On success, the caller should ensure that the prepared key is
zeroized at the end of its lifetime, e.g. by calling
aes_cmac_zeroize_key() or kfree_sensitive()."
and
"The caller should ensure that the context is zeroized at the end of
its lifetime, e.g. by calling aes_cmac_final() or
aes_cmac_zeroize_ctx()."
- Eric
next prev parent reply other threads:[~2026-08-05 20:37 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-05 14:36 [PATCH 0/6] crypto: Add __cleanup functions for zeroizing aes_cmac_key & aes_cmac_ctx Thomas Huth
2026-08-05 14:36 ` [PATCH 1/6] crypto: Provide wrapper functions for zeroizing aes_cmac_key and aes_cmac_ctx Thomas Huth
2026-08-05 20:37 ` Eric Biggers [this message]
2026-08-05 20:46 ` Eric Biggers
2026-08-05 14:36 ` [PATCH 2/6] smb: clear the aes_cmac_key and aes_cmac_ctx when done Thomas Huth
2026-08-05 21:12 ` Eric Biggers
2026-08-05 14:36 ` [PATCH 3/6] net/tcp-ao: clear the aes_cmac_key " Thomas Huth
2026-08-05 21:02 ` Eric Biggers
2026-08-06 13:06 ` Thomas Huth
2026-08-05 14:36 ` [PATCH 4/6] Bluetooth: SMP: " Thomas Huth
2026-08-05 20:46 ` Eric Biggers
2026-08-06 13:00 ` Thomas Huth
2026-08-05 14:36 ` [PATCH 5/6] lib/crypto: aes: Use _cleanup() for aes_cmac_key instead of memzero_explicit() Thomas Huth
2026-08-05 14:36 ` [PATCH 6/6] mac80211: fils_aead: Use _cleanup for aes_cmac_key instead of memzero_explicit 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=20260805203734.GF3438@quark \
--to=ebiggers@kernel.org \
--cc=davem@davemloft.net \
--cc=herbert@gondor.apana.org.au \
--cc=linux-crypto@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=thuth@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.