Re: [PATCH] crypto: keembay - Add missing check after sg_nents_for_len()

From: Herbert Xu
Date: Sun Jul 27 2025 - 08:58:01 EST


On Wed, Jul 16, 2025 at 02:20:19PM +0200, Thomas Fourier wrote:
> 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@xxxxxxxxx>
> ---
> drivers/crypto/intel/keembay/keembay-ocs-hcu-core.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/crypto/intel/keembay/keembay-ocs-hcu-core.c b/drivers/crypto/intel/keembay/keembay-ocs-hcu-core.c
> index 8f9e21ced0fe..c75fd7c68fd7 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;
> +

Why are you return -nents as the error? That makes no sense.

Cheers,
--
Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt