Commit a18b989a authored by Kim Phillips's avatar Kim Phillips Committed by Herbert Xu

crypto: caam - fix operator precedence in shared descriptor allocation

setkey allocates 16 bytes (CAAM_CMD_SZ *
DESC_AEAD_SHARED_TEXT_LEN) shy of what is needed to
store the shared descriptor, resulting in memory
corruption.  Fix this.
Signed-off-by: default avatarKim Phillips <kim.phillips@freescale.com>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent 258e43fd
...@@ -238,9 +238,9 @@ static int build_sh_desc_ipsec(struct caam_ctx *ctx) ...@@ -238,9 +238,9 @@ static int build_sh_desc_ipsec(struct caam_ctx *ctx)
/* build shared descriptor for this session */ /* build shared descriptor for this session */
sh_desc = kmalloc(CAAM_CMD_SZ * DESC_AEAD_SHARED_TEXT_LEN + sh_desc = kmalloc(CAAM_CMD_SZ * DESC_AEAD_SHARED_TEXT_LEN +
keys_fit_inline ? (keys_fit_inline ?
ctx->split_key_pad_len + ctx->enckeylen : ctx->split_key_pad_len + ctx->enckeylen :
CAAM_PTR_SZ * 2, GFP_DMA | GFP_KERNEL); CAAM_PTR_SZ * 2), GFP_DMA | GFP_KERNEL);
if (!sh_desc) { if (!sh_desc) {
dev_err(jrdev, "could not allocate shared descriptor\n"); dev_err(jrdev, "could not allocate shared descriptor\n");
return -ENOMEM; return -ENOMEM;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment