summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTadeusz Struk <tadeusz.struk@intel.com>2014-10-14 03:24:26 +0200
committerHerbert Xu <herbert@gondor.apana.org.au>2014-10-24 16:37:33 +0200
commit923a6e5e5f171317ac8bb462ac4b814fa7880d3c (patch)
tree0ff41bc4f02479cb4d12a9113b80a2616bef0022
parentLinux 3.18-rc1 (diff)
downloadlinux-923a6e5e5f171317ac8bb462ac4b814fa7880d3c.tar.xz
linux-923a6e5e5f171317ac8bb462ac4b814fa7880d3c.zip
crypto: qat - Prevent dma mapping zero length assoc data
Do not attempt to dma map associated data if it is zero length. Cc: stable@vger.kernel.org Signed-off-by: Tadeusz Struk <tadeusz.struk@intel.com> Tested-by: Nikolay Aleksandrov <nikolay@redhat.com> Reviewed-by: Prarit Bhargava <prarit@redhat.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
-rw-r--r--drivers/crypto/qat/qat_common/qat_algs.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/crypto/qat/qat_common/qat_algs.c b/drivers/crypto/qat/qat_common/qat_algs.c
index f2e2f158cfbe..699ccf44e9bb 100644
--- a/drivers/crypto/qat/qat_common/qat_algs.c
+++ b/drivers/crypto/qat/qat_common/qat_algs.c
@@ -605,6 +605,8 @@ static int qat_alg_sgl_to_bufl(struct qat_crypto_instance *inst,
goto err;
for_each_sg(assoc, sg, assoc_n, i) {
+ if (!sg->length)
+ continue;
bufl->bufers[bufs].addr = dma_map_single(dev,
sg_virt(sg),
sg->length,