Message ID | 20150511101009.GA12395@mwanda (mailing list archive) |
---|---|
State | Accepted |
Delegated to: | Herbert Xu |
Headers | show |
Le 11/05/2015 12:10, Dan Carpenter a écrit : > 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> > > diff --git a/drivers/crypto/talitos.c b/drivers/crypto/talitos.c > index c04074d..273942c 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; > -- To unsubscribe from this list: send the line "unsubscribe linux-crypto" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Mon, May 11, 2015 at 03:35:12PM +0200, leroy christophe wrote: > > > Le 11/05/2015 12:10, Dan Carpenter a écrit : > >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> Applied.
diff --git a/drivers/crypto/talitos.c b/drivers/crypto/talitos.c index c04074d..273942c 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;
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> -- To unsubscribe from this list: send the line "unsubscribe linux-crypto" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html