linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] crypto: keembay - Add missing check after sg_nents_for_len()
@ 2025-07-16 12:20 Thomas Fourier
  2025-07-16 12:25 ` Murphy, Declan
  2025-07-27 12:37 ` Herbert Xu
  0 siblings, 2 replies; 3+ messages in thread
From: Thomas Fourier @ 2025-07-16 12:20 UTC (permalink / raw)
  Cc: Thomas Fourier, Daniele Alessandrelli, Declan Murphy, Herbert Xu,
	David S. Miller, Mark Gross, linux-crypto, linux-kernel

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>
---
 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;
+
 	/* If there are entries to process, map them. */
 	if (nents) {
 		rctx->sg_dma_nents = dma_map_sg(dev, req->src, nents,
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* RE: [PATCH] crypto: keembay - Add missing check after sg_nents_for_len()
  2025-07-16 12:20 [PATCH] crypto: keembay - Add missing check after sg_nents_for_len() Thomas Fourier
@ 2025-07-16 12:25 ` Murphy, Declan
  2025-07-27 12:37 ` Herbert Xu
  1 sibling, 0 replies; 3+ messages in thread
From: Murphy, Declan @ 2025-07-16 12:25 UTC (permalink / raw)
  To: Thomas Fourier
  Cc: Alessandrelli, Daniele, Herbert Xu, David S. Miller, Mark Gross,
	linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org

Looks Good To Me.

Thank you for the fix,
Declan

-----Original Message-----
From: Thomas Fourier <fourier.thomas@gmail.com> 
Sent: Wednesday, July 16, 2025 1:20 PM
Cc: Thomas Fourier <fourier.thomas@gmail.com>; Alessandrelli, Daniele <daniele.alessandrelli@intel.com>; Murphy, Declan <declan.murphy@intel.com>; Herbert Xu <herbert@gondor.apana.org.au>; David S. Miller <davem@davemloft.net>; Mark Gross <mgross@linux.intel.com>; linux-crypto@vger.kernel.org; linux-kernel@vger.kernel.org
Subject: [PATCH] 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>
---
 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;
+
 	/* If there are entries to process, map them. */
 	if (nents) {
 		rctx->sg_dma_nents = dma_map_sg(dev, req->src, nents,
-- 
2.43.0

--------------------------------------------------------------
Intel Research and Development Ireland Limited
Registered in Ireland
Registered Office: Collinstown Industrial Park, Leixlip, County Kildare
Registered Number: 308263


This e-mail and any attachments may contain confidential material for the sole
use of the intended recipient(s). Any review or distribution by others is
strictly prohibited. If you are not the intended recipient, please contact the
sender and delete all copies.


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] crypto: keembay - Add missing check after sg_nents_for_len()
  2025-07-16 12:20 [PATCH] crypto: keembay - Add missing check after sg_nents_for_len() Thomas Fourier
  2025-07-16 12:25 ` Murphy, Declan
@ 2025-07-27 12:37 ` Herbert Xu
  1 sibling, 0 replies; 3+ messages in thread
From: Herbert Xu @ 2025-07-27 12:37 UTC (permalink / raw)
  To: Thomas Fourier
  Cc: Daniele Alessandrelli, Declan Murphy, David S. Miller, Mark Gross,
	linux-crypto, linux-kernel

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@gmail.com>
> ---
>  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@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2025-07-27 12:57 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-16 12:20 [PATCH] crypto: keembay - Add missing check after sg_nents_for_len() Thomas Fourier
2025-07-16 12:25 ` Murphy, Declan
2025-07-27 12:37 ` Herbert Xu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).