diff options
| author | Thomas Fourier <fourier.thomas@gmail.com> | 2025-07-28 14:03:30 +0200 |
|---|---|---|
| committer | Herbert Xu <herbert@gondor.apana.org.au> | 2025-08-16 17:22:46 +0800 |
| commit | 4e53be21dd0315c00eaf40cc8f8c0facd4d9a6b2 (patch) | |
| tree | 124502c40c6c287ab70a985de1a7000bd59ea45a /drivers/crypto/intel | |
| parent | crypto: qat - add command queue telemetry counters for GEN6 (diff) | |
| download | linux-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.c | 5 |
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, |
