Skip to contentSkip to conversation

crypto: zynqmp-sha - fix NULL pointer dereference in init_tfm

PATCH In review Thorsten Blum 2 participants 2 messages Sep 8 – Sep 18

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 crypto: zynqmp-sha - fix NULL pointer dereference in init_tfm

zynqmp_sha_init_tfm() checks crypto_shash_statesize(tfm_ctx->fbk_tfm) before assigning the fallback transform to it, which dereferences a NULL pointer since the transform context is zero-initialized. Use the local fallback_tfm pointer for the size check instead.

Fixes c1dd353d18e5 ("crypto: zynqmp-sha - Make descsize an algorithm attribute")
---
 drivers/crypto/xilinx/zynqmp-sha.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/crypto/xilinx/zynqmp-sha.c +1 -1
index 5813017b6b79..cd051e1f4275 100644
@@ -59,7 +59,7 @@ static int zynqmp_sha_init_tfm(struct crypto_shash *hash)
 		return PTR_ERR(fallback_tfm);
 
 	if (crypto_shash_descsize(hash) <
-	    crypto_shash_statesize(tfm_ctx->fbk_tfm)) {
+	    crypto_shash_statesize(fallback_tfm)) {
 		crypto_free_shash(fallback_tfm);
 		return -EINVAL;
 	}
maintainer
#1 lore raw
Quoted 11 lines · Thorsten Blum

zynqmp_sha_init_tfm() checks crypto_shash_statesize(tfm_ctx->fbk_tfm) before assigning the fallback transform to it, which dereferences a NULL pointer since the transform context is zero-initialized. Use the local fallback_tfm pointer for the size check instead.

Fixes c1dd353d18e5 ("crypto: zynqmp-sha - Make descsize an algorithm attribute")
---
 drivers/crypto/xilinx/zynqmp-sha.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Patch applied. Thanks.

Signature · 3 lines
Email: Herbert Xu <[email protected]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt