On 11/19/25 13:38, Herbert Xu wrote:
On Mon, Nov 10, 2025 at 07:44:56PM +0900, Gustavo A. R. Silva wrote:
diff --git a/crypto/drbg.c b/crypto/drbg.c
index 511a27c91813..e9f9775c237f 100644
--- a/crypto/drbg.c
+++ b/crypto/drbg.c
@@ -1442,9 +1442,12 @@ static void drbg_kcapi_set_entropy(struct crypto_rng
*tfm,
#if defined(CONFIG_CRYPTO_DRBG_HASH) || defined(CONFIG_CRYPTO_DRBG_HMAC)
struct sdesc {
- struct shash_desc shash;
- char ctx[];
+ /* Must be last as it ends in a flexible-array member. */
+ TRAILING_OVERLAP(struct shash_desc, shash, __ctx,
+ char ctx[];
+ );
};
+static_assert(offsetof(struct sdesc, shash.__ctx) == offsetof(struct sdesc,
ctx));
This isn't even used. Just delete it:
Awesome. :)
Thanks!
-Gustavo
---8<---
The ctx array in struct sdesc is never used. Delete it as it's
bogus since the previous member ends with a flexible array.
Reported-by: Gustavo A. R. Silva <[email protected]>
Signed-off-by: Herbert Xu <[email protected]>
diff --git a/crypto/drbg.c b/crypto/drbg.c
index 511a27c91813..1d433dae9955 100644
--- a/crypto/drbg.c
+++ b/crypto/drbg.c
@@ -1443,7 +1443,6 @@ static void drbg_kcapi_set_entropy(struct crypto_rng *tfm,
#if defined(CONFIG_CRYPTO_DRBG_HASH) || defined(CONFIG_CRYPTO_DRBG_HMAC)
struct sdesc {
struct shash_desc shash;
- char ctx[];
};
static int drbg_init_hash_kernel(struct drbg_state *drbg)