aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/crypto/intel
diff options
context:
space:
mode:
authorThomas Fourier <fourier.thomas@gmail.com>2025-07-28 14:03:30 +0200
committerHerbert Xu <herbert@gondor.apana.org.au>2025-08-16 17:22:46 +0800
commit4e53be21dd0315c00eaf40cc8f8c0facd4d9a6b2 (patch)
tree124502c40c6c287ab70a985de1a7000bd59ea45a /drivers/crypto/intel
parentcrypto: qat - add command queue telemetry counters for GEN6 (diff)
downloadlinux-4e53be21dd0315c00eaf40cc8f8c0facd4d9a6b2.tar.gz
linux-4e53be21dd0315c00eaf40cc8f8c0facd4d9a6b2.zip
crypto: keembay - Add missing check after sg_nents_for_len()
sg_nents_for_len() returns an int which is negative in case of error. Fixes: 472b04444cd3 ("crypto: keembay - Add Keem Bay OCS HCU driver") Signed-off-by: Thomas Fourier <fourier.thomas@gmail.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'drivers/crypto/intel')
-rw-r--r--drivers/crypto/intel/keembay/keembay-ocs-hcu-core.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/crypto/intel/keembay/keembay-ocs-hcu-core.c b/drivers/crypto/intel/keembay/keembay-ocs-hcu-core.c
index 8f9e21ced0fe..48281d882260 100644
--- a/drivers/crypto/intel/keembay/keembay-ocs-hcu-core.c
+++ b/drivers/crypto/intel/keembay/keembay-ocs-hcu-core.c
@@ -232,7 +232,7 @@ static int kmb_ocs_dma_prepare(struct ahash_request *req)
struct device *dev = rctx->hcu_dev->dev;
unsigned int remainder = 0;
unsigned int total;
- size_t nents;
+ int nents;
size_t count;
int rc;
int i;
@@ -253,6 +253,9 @@ static int kmb_ocs_dma_prepare(struct ahash_request *req)
/* Determine the number of scatter gather list entries to process. */
nents = sg_nents_for_len(req->src, rctx->sg_data_total - remainder);
+ if (nents < 0)
+ return nents;
+
/* If there are entries to process, map them. */
if (nents) {
rctx->sg_dma_nents = dma_map_sg(dev, req->src, nents,