]> www.infradead.org Git - users/hch/misc.git/commitdiff
crypto: skcipher - Fix reqsize handling
authorT Pratham <t-pratham@ti.com>
Tue, 7 Oct 2025 13:57:51 +0000 (19:27 +0530)
committerHerbert Xu <herbert@gondor.apana.org.au>
Wed, 8 Oct 2025 08:13:07 +0000 (16:13 +0800)
Commit afddce13ce81d ("crypto: api - Add reqsize to crypto_alg")
introduced cra_reqsize field in crypto_alg struct to replace type
specific reqsize fields. It looks like this was introduced specifically
for ahash and acomp from the commit description as subsequent commits
add necessary changes in these alg frameworks.

However, this is being recommended for use in all crypto algs [1]
instead of setting reqsize using crypto_*_set_reqsize(). Using
cra_reqsize in skcipher algorithms, hence, causes memory
corruptions and crashes as the underlying functions in the algorithm
framework have not been updated to set the reqsize properly from
cra_reqsize. [2]

Add proper set_reqsize calls in the skcipher init function to
properly initialize reqsize for these algorithms in the framework.

[1]: https://lore.kernel.org/linux-crypto/aCL8BxpHr5OpT04k@gondor.apana.org.au/
[2]: https://gist.github.com/Pratham-T/24247446f1faf4b7843e4014d5089f6b

Fixes: afddce13ce81d ("crypto: api - Add reqsize to crypto_alg")
Fixes: 52f641bc63a4 ("crypto: ti - Add driver for DTHE V2 AES Engine (ECB, CBC)")
Signed-off-by: T Pratham <t-pratham@ti.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
crypto/skcipher.c

index de5fc91bba267e4719e3ce9a6f3503a358912741..8fa5d9686d08502ea4d3a5a2e4707ccf2cc207d7 100644 (file)
@@ -294,6 +294,8 @@ static int crypto_skcipher_init_tfm(struct crypto_tfm *tfm)
                return crypto_init_lskcipher_ops_sg(tfm);
        }
 
+       crypto_skcipher_set_reqsize(skcipher, crypto_tfm_alg_reqsize(tfm));
+
        if (alg->exit)
                skcipher->base.exit = crypto_skcipher_exit_tfm;