diff options
author | Kim Phillips <kim.phillips@freescale.com> | 2011-05-26 13:30:34 +1000 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2011-06-30 07:43:27 +0800 |
commit | a18b989a5c12ca82ed37f94279273ddbc073758a (patch) | |
tree | 496c4c043d7712a52691cadf5df8025ab32a63c9 | |
parent | 258e43fdb00c73d424b114ae3850accd55b27cbb (diff) | |
download | kernel_samsung_smdk4412-a18b989a5c12ca82ed37f94279273ddbc073758a.zip kernel_samsung_smdk4412-a18b989a5c12ca82ed37f94279273ddbc073758a.tar.gz kernel_samsung_smdk4412-a18b989a5c12ca82ed37f94279273ddbc073758a.tar.bz2 |
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>
-rw-r--r-- | drivers/crypto/caam/caamalg.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/crypto/caam/caamalg.c b/drivers/crypto/caam/caamalg.c index d0e65d6..676d957 100644 --- a/drivers/crypto/caam/caamalg.c +++ b/drivers/crypto/caam/caamalg.c @@ -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; |