Message ID | 20220825072421.29020-2-jinpu.wang@ionos.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/6] crypto: gemin: Fix error check for dma_map_sg | expand |
On Thu, Aug 25, 2022 at 09:24:16AM +0200, Jack Wang wrote: > dma_map_sg return 0 on error. > > Cc: Corentin Labbe <clabbe@baylibre.com> > Cc: Hans Ulli Kroll <ulli.kroll@googlemail.com> > Cc: Linus Walleij <linus.walleij@linaro.org> > Cc: Herbert Xu <herbert@gondor.apana.org.au> > Cc: "David S. Miller" <davem@davemloft.net> > Cc: linux-crypto@vger.kernel.org > Cc: linux-arm-kernel@lists.infradead.org > Cc: linux-kernel@vger.kernel.org > Fixes: 46c5338db7bd ("crypto: sl3516 - Add sl3516 crypto engine") > Signed-off-by: Jack Wang <jinpu.wang@ionos.com> > --- > drivers/crypto/gemini/sl3516-ce-cipher.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/crypto/gemini/sl3516-ce-cipher.c b/drivers/crypto/gemini/sl3516-ce-cipher.c > index 14d0d83d388d..34fea8aa91b6 100644 > --- a/drivers/crypto/gemini/sl3516-ce-cipher.c > +++ b/drivers/crypto/gemini/sl3516-ce-cipher.c > @@ -149,7 +149,7 @@ static int sl3516_ce_cipher(struct skcipher_request *areq) > if (areq->src == areq->dst) { > nr_sgs = dma_map_sg(ce->dev, areq->src, sg_nents(areq->src), > DMA_BIDIRECTIONAL); > - if (nr_sgs <= 0 || nr_sgs > MAXDESC / 2) { > + if (!nr_sgs || nr_sgs > MAXDESC / 2) { > dev_err(ce->dev, "Invalid sg number %d\n", nr_sgs); > err = -EINVAL; > goto theend; The original code is correct and this patch is arguably making it less robust. So I'll drop this particular patch. Thanks,
diff --git a/drivers/crypto/gemini/sl3516-ce-cipher.c b/drivers/crypto/gemini/sl3516-ce-cipher.c index 14d0d83d388d..34fea8aa91b6 100644 --- a/drivers/crypto/gemini/sl3516-ce-cipher.c +++ b/drivers/crypto/gemini/sl3516-ce-cipher.c @@ -149,7 +149,7 @@ static int sl3516_ce_cipher(struct skcipher_request *areq) if (areq->src == areq->dst) { nr_sgs = dma_map_sg(ce->dev, areq->src, sg_nents(areq->src), DMA_BIDIRECTIONAL); - if (nr_sgs <= 0 || nr_sgs > MAXDESC / 2) { + if (!nr_sgs || nr_sgs > MAXDESC / 2) { dev_err(ce->dev, "Invalid sg number %d\n", nr_sgs); err = -EINVAL; goto theend; @@ -158,14 +158,14 @@ static int sl3516_ce_cipher(struct skcipher_request *areq) } else { nr_sgs = dma_map_sg(ce->dev, areq->src, sg_nents(areq->src), DMA_TO_DEVICE); - if (nr_sgs <= 0 || nr_sgs > MAXDESC / 2) { + if (!nr_sgs || nr_sgs > MAXDESC / 2) { dev_err(ce->dev, "Invalid sg number %d\n", nr_sgs); err = -EINVAL; goto theend; } nr_sgd = dma_map_sg(ce->dev, areq->dst, sg_nents(areq->dst), DMA_FROM_DEVICE); - if (nr_sgd <= 0 || nr_sgd > MAXDESC) { + if (!nr_sgd || nr_sgd > MAXDESC) { dev_err(ce->dev, "Invalid sg number %d\n", nr_sgd); err = -EINVAL; goto theend_sgs;
dma_map_sg return 0 on error. Cc: Corentin Labbe <clabbe@baylibre.com> Cc: Hans Ulli Kroll <ulli.kroll@googlemail.com> Cc: Linus Walleij <linus.walleij@linaro.org> Cc: Herbert Xu <herbert@gondor.apana.org.au> Cc: "David S. Miller" <davem@davemloft.net> Cc: linux-crypto@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org Cc: linux-kernel@vger.kernel.org Fixes: 46c5338db7bd ("crypto: sl3516 - Add sl3516 crypto engine") Signed-off-by: Jack Wang <jinpu.wang@ionos.com> --- drivers/crypto/gemini/sl3516-ce-cipher.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)