]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 30 May 2024 07:49:00 +0000 (09:49 +0200)
[ Upstream commit 6a6d6a3a328a59ed0d8ae2e65696ef38e49133a0 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
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;