summaryrefslogtreecommitdiff
path: root/drivers/crypto
diff options
context:
space:
mode:
authorNeal Liu <neal_liu@aspeedtech.com>2023-02-24 05:05:21 +0300
committerHerbert Xu <herbert@gondor.apana.org.au>2023-03-14 12:06:44 +0300
commita1862c3b0875a0cdfa0e30c508855324577e124b (patch)
treeb242025686086c191fbb99e5ac01af87e606271e /drivers/crypto
parentf84155ca851849e5e8981fddd3945a6cfeea220c (diff)
downloadlinux-a1862c3b0875a0cdfa0e30c508855324577e124b.tar.xz
crypto: aspeed - add error handling if dmam_alloc_coherent() failed
Since the acry_dev->buf_addr may be NULL, add error handling to prevent any additional access to avoid potential issues. Signed-off-by: Neal Liu <neal_liu@aspeedtech.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'drivers/crypto')
-rw-r--r--drivers/crypto/aspeed/aspeed-acry.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/crypto/aspeed/aspeed-acry.c b/drivers/crypto/aspeed/aspeed-acry.c
index 857a7a222922..565059c1ddbf 100644
--- a/drivers/crypto/aspeed/aspeed-acry.c
+++ b/drivers/crypto/aspeed/aspeed-acry.c
@@ -779,7 +779,10 @@ static int aspeed_acry_probe(struct platform_device *pdev)
acry_dev->buf_addr = dmam_alloc_coherent(dev, ASPEED_ACRY_BUFF_SIZE,
&acry_dev->buf_dma_addr,
GFP_KERNEL);
- memzero_explicit(acry_dev->buf_addr, ASPEED_ACRY_BUFF_SIZE);
+ if (!acry_dev->buf_addr) {
+ rc = -ENOMEM;
+ goto err_engine_rsa_start;
+ }
aspeed_acry_register(acry_dev);