diff options
author | Dan Carpenter <dan.carpenter@oracle.com> | 2015-05-11 13:10:09 +0300 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2015-05-13 10:31:54 +0800 |
commit | 608f37d0f83e4359f48121949778bf912cd56800 (patch) | |
tree | 7af7ac9a0b13ead735b605e1efc9d689955b7fdb | |
parent | 5d1d65f8bea6de3d9c2c60fdfdd2da02da5ea672 (diff) | |
download | linux-stable-608f37d0f83e4359f48121949778bf912cd56800.tar.gz linux-stable-608f37d0f83e4359f48121949778bf912cd56800.tar.bz2 linux-stable-608f37d0f83e4359f48121949778bf912cd56800.zip |
crypto: talitos - fix size calculation in talitos_edesc_alloc()
The + operation has higher precedence than ?: so we need parentheses
here. Otherwise we may end up allocating a max of only one "cryptlen"
instead of two.
Fixes: 6f65f6ac5fb3 ('crypto: talitos - implement scatter/gather copy for SEC1')
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Christophe Leroy <christophe.leroy@c-s.fr>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
-rw-r--r-- | drivers/crypto/talitos.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/crypto/talitos.c b/drivers/crypto/talitos.c index 4c0778b03de6..aaa7af856b39 100644 --- a/drivers/crypto/talitos.c +++ b/drivers/crypto/talitos.c @@ -1335,8 +1335,8 @@ static struct talitos_edesc *talitos_edesc_alloc(struct device *dev, alloc_len = sizeof(struct talitos_edesc); if (assoc_nents || src_nents || dst_nents) { if (is_sec1) - dma_len = src_nents ? cryptlen : 0 + - dst_nents ? cryptlen : 0; + dma_len = (src_nents ? cryptlen : 0) + + (dst_nents ? cryptlen : 0); else dma_len = (src_nents + dst_nents + 2 + assoc_nents) * sizeof(struct talitos_ptr) + authsize; |