Skip to content

Commit 229c586

Browse files
Pratham-Therbertx
authored andcommitted
crypto: skcipher - Fix reqsize handling
Commit afddce1 ("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: afddce1 ("crypto: api - Add reqsize to crypto_alg") Fixes: 52f641b ("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>
1 parent c0d3672 commit 229c586

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

crypto/skcipher.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -294,6 +294,8 @@ static int crypto_skcipher_init_tfm(struct crypto_tfm *tfm)
294294
return crypto_init_lskcipher_ops_sg(tfm);
295295
}
296296

297+
crypto_skcipher_set_reqsize(skcipher, crypto_tfm_alg_reqsize(tfm));
298+
297299
if (alg->exit)
298300
skcipher->base.exit = crypto_skcipher_exit_tfm;
299301

0 commit comments

Comments
 (0)