diff options
| author | Thomas Fourier <fourier.thomas@gmail.com> | 2025-07-28 14:03:30 +0200 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2025-10-15 12:03:43 +0200 |
| commit | 702460e06a431e3fd1409afb1b56caf5266a3ce4 (patch) | |
| tree | e0c7c13f357ec8bf571ec5eb5d44eee1e79cf526 /drivers/crypto | |
| parent | 01e793e7d4d402c473f1a61ca5824f086693be65 (diff) | |
| download | linux-702460e06a431e3fd1409afb1b56caf5266a3ce4.tar.gz linux-702460e06a431e3fd1409afb1b56caf5266a3ce4.tar.bz2 linux-702460e06a431e3fd1409afb1b56caf5266a3ce4.zip | |
crypto: keembay - Add missing check after sg_nents_for_len()
[ Upstream commit 4e53be21dd0315c00eaf40cc8f8c0facd4d9a6b2 ]
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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/crypto')
| -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, |
