summaryrefslogtreecommitdiff
path: root/drivers/crypto/intel
diff options
context:
space:
mode:
authorThomas Fourier <fourier.thomas@gmail.com>2025-07-28 14:03:30 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-10-15 12:03:43 +0200
commit702460e06a431e3fd1409afb1b56caf5266a3ce4 (patch)
treee0c7c13f357ec8bf571ec5eb5d44eee1e79cf526 /drivers/crypto/intel
parent01e793e7d4d402c473f1a61ca5824f086693be65 (diff)
downloadlinux-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/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,