crypto: octeontx2 - add missing check for dma_map_single
authorChen Ni <nichen@iscas.ac.cn>
Mon, 8 Apr 2024 01:59:14 +0000 (01:59 +0000)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 19 Apr 2024 10:54:18 +0000 (18:54 +0800)
Add check for dma_map_single() and return error if it fails in order
to avoid invalid dma address.

Fixes: e92971117c2c ("crypto: octeontx2 - add ctx_val workaround")
Signed-off-by: Chen Ni <nichen@iscas.ac.cn>
Reviewed-by: Bharat Bhushan <bbhushan2@marvell.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/marvell/octeontx2/cn10k_cpt.c

index 79b4e74804f6d08c223939fa552fa77073fad0f0..6bfc59e6774780763e43c449653979fdea3f2eec 100644 (file)
@@ -138,6 +138,10 @@ int cn10k_cpt_hw_ctx_init(struct pci_dev *pdev,
                return -ENOMEM;
        cptr_dma = dma_map_single(&pdev->dev, hctx, CN10K_CPT_HW_CTX_SIZE,
                                  DMA_BIDIRECTIONAL);
+       if (dma_mapping_error(&pdev->dev, cptr_dma)) {
+               kfree(hctx);
+               return -ENOMEM;
+       }
 
        cn10k_cpt_hw_ctx_set(hctx, 1);
        er_ctx->hw_ctx = hctx;