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: Kim Phillips <kim.phillips@freescale.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
Родитель
258e43fdb0
Коммит
a18b989a5c
|
@ -238,9 +238,9 @@ static int build_sh_desc_ipsec(struct caam_ctx *ctx)
|
|||
|
||||
/* build shared descriptor for this session */
|
||||
sh_desc = kmalloc(CAAM_CMD_SZ * DESC_AEAD_SHARED_TEXT_LEN +
|
||||
keys_fit_inline ?
|
||||
ctx->split_key_pad_len + ctx->enckeylen :
|
||||
CAAM_PTR_SZ * 2, GFP_DMA | GFP_KERNEL);
|
||||
(keys_fit_inline ?
|
||||
ctx->split_key_pad_len + ctx->enckeylen :
|
||||
CAAM_PTR_SZ * 2), GFP_DMA | GFP_KERNEL);
|
||||
if (!sh_desc) {
|
||||
dev_err(jrdev, "could not allocate shared descriptor\n");
|
||||
return -ENOMEM;
|
||||
|
|
Загрузка…
Ссылка в новой задаче