All of lore.kernel.org
 help / color / mirror / Atom feed
* [patch] crypto: qat - silence a static checker warning
@ 2015-08-21  8:47 ` Dan Carpenter
  0 siblings, 0 replies; 6+ messages in thread
From: Dan Carpenter @ 2015-08-21  8:47 UTC (permalink / raw)
  To: Tadeusz Struk
  Cc: Herbert Xu, David S. Miller, Allan, Bruce W, Ahsan Atta,
	qat-linux, linux-crypto, kernel-janitors

My static checker assumes that if we are getting numbers as a string
using kstrotoint() then that means they come from outside the kernel and
are untrustworthy.

This may or may not be true in this case, but it seems harmless to add
a range check here.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>

diff --git a/drivers/crypto/qat/qat_common/adf_transport.c b/drivers/crypto/qat/qat_common/adf_transport.c
index d5d8198..ec3abf9 100644
--- a/drivers/crypto/qat/qat_common/adf_transport.c
+++ b/drivers/crypto/qat/qat_common/adf_transport.c
@@ -264,6 +264,10 @@ int adf_create_ring(struct adf_accel_dev *accel_dev, const char *section,
 		dev_err(&GET_DEV(accel_dev), "Can't get ring number\n");
 		return -EFAULT;
 	}
+	if (ring_num >= ARRAY_SIZE(bank->rings)) {
+		dev_err(&GET_DEV(accel_dev), "Invalid ring number\n");
+		return -EFAULT;
+	}
 
 	bank = &transport_data->banks[bank_num];
 	if (adf_reserve_ring(bank, ring_num)) {

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

* [patch] crypto: qat - silence a static checker warning
@ 2015-08-21  8:47 ` Dan Carpenter
  0 siblings, 0 replies; 6+ messages in thread
From: Dan Carpenter @ 2015-08-21  8:47 UTC (permalink / raw)
  To: Tadeusz Struk
  Cc: Herbert Xu, David S. Miller, Allan, Bruce W, Ahsan Atta,
	qat-linux, linux-crypto, kernel-janitors

My static checker assumes that if we are getting numbers as a string
using kstrotoint() then that means they come from outside the kernel and
are untrustworthy.

This may or may not be true in this case, but it seems harmless to add
a range check here.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>

diff --git a/drivers/crypto/qat/qat_common/adf_transport.c b/drivers/crypto/qat/qat_common/adf_transport.c
index d5d8198..ec3abf9 100644
--- a/drivers/crypto/qat/qat_common/adf_transport.c
+++ b/drivers/crypto/qat/qat_common/adf_transport.c
@@ -264,6 +264,10 @@ int adf_create_ring(struct adf_accel_dev *accel_dev, const char *section,
 		dev_err(&GET_DEV(accel_dev), "Can't get ring number\n");
 		return -EFAULT;
 	}
+	if (ring_num >= ARRAY_SIZE(bank->rings)) {
+		dev_err(&GET_DEV(accel_dev), "Invalid ring number\n");
+		return -EFAULT;
+	}
 
 	bank = &transport_data->banks[bank_num];
 	if (adf_reserve_ring(bank, ring_num)) {

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

* Re: [patch] crypto: qat - silence a static checker warning
  2015-08-21  8:47 ` Dan Carpenter
@ 2015-08-22 15:29   ` Tadeusz Struk
  -1 siblings, 0 replies; 6+ messages in thread
From: Tadeusz Struk @ 2015-08-22 15:29 UTC (permalink / raw)
  To: Dan Carpenter
  Cc: Herbert Xu, David S. Miller, Allan, Bruce W, Ahsan Atta,
	qat-linux, linux-crypto, kernel-janitors

Hi Dan,
On 08/21/2015 01:47 AM, Dan Carpenter wrote:
> My static checker assumes that if we are getting numbers as a string
> using kstrotoint() then that means they come from outside the kernel and
> are untrustworthy.
> 
> This may or may not be true in this case, but it seems harmless to add
> a range check here.
> 
> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
> 
> diff --git a/drivers/crypto/qat/qat_common/adf_transport.c b/drivers/crypto/qat/qat_common/adf_transport.c
> index d5d8198..ec3abf9 100644
> --- a/drivers/crypto/qat/qat_common/adf_transport.c
> +++ b/drivers/crypto/qat/qat_common/adf_transport.c
> @@ -264,6 +264,10 @@ int adf_create_ring(struct adf_accel_dev *accel_dev, const char *section,
>  		dev_err(&GET_DEV(accel_dev), "Can't get ring number\n");
>  		return -EFAULT;
>  	}
> +	if (ring_num >= ARRAY_SIZE(bank->rings)) {
> +		dev_err(&GET_DEV(accel_dev), "Invalid ring number\n");
> +		return -EFAULT;
> +	}
>  
>  	bank = &transport_data->banks[bank_num];
>  	if (adf_reserve_ring(bank, ring_num)) {
> 

ACK, although I would use the ADF_ETR_MAX_RINGS_PER_BANK define.
So if you don't mind.
Thanks!
---8<---

Add range check for ring number.

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Tadeusz Struk <tadeusz.struk@intel.com>

diff --git a/drivers/crypto/qat/qat_common/adf_transport.c b/drivers/crypto/qat/qat_common/adf_transport.c
index d5d8198..3865ae8 100644
--- a/drivers/crypto/qat/qat_common/adf_transport.c
+++ b/drivers/crypto/qat/qat_common/adf_transport.c
@@ -264,6 +264,10 @@ int adf_create_ring(struct adf_accel_dev *accel_dev, const char *section,
 		dev_err(&GET_DEV(accel_dev), "Can't get ring number\n");
 		return -EFAULT;
 	}
+	if (ring_num >= ADF_ETR_MAX_RINGS_PER_BANK) {
+		dev_err(&GET_DEV(accel_dev), "Invalid ring number\n");
+		return -EFAULT;
+	}
 
 	bank = &transport_data->banks[bank_num];
 	if (adf_reserve_ring(bank, ring_num)) {

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

* Re: [patch] crypto: qat - silence a static checker warning
@ 2015-08-22 15:29   ` Tadeusz Struk
  0 siblings, 0 replies; 6+ messages in thread
From: Tadeusz Struk @ 2015-08-22 15:29 UTC (permalink / raw)
  To: Dan Carpenter
  Cc: Herbert Xu, David S. Miller, Allan, Bruce W, Ahsan Atta,
	qat-linux, linux-crypto, kernel-janitors

Hi Dan,
On 08/21/2015 01:47 AM, Dan Carpenter wrote:
> My static checker assumes that if we are getting numbers as a string
> using kstrotoint() then that means they come from outside the kernel and
> are untrustworthy.
> 
> This may or may not be true in this case, but it seems harmless to add
> a range check here.
> 
> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
> 
> diff --git a/drivers/crypto/qat/qat_common/adf_transport.c b/drivers/crypto/qat/qat_common/adf_transport.c
> index d5d8198..ec3abf9 100644
> --- a/drivers/crypto/qat/qat_common/adf_transport.c
> +++ b/drivers/crypto/qat/qat_common/adf_transport.c
> @@ -264,6 +264,10 @@ int adf_create_ring(struct adf_accel_dev *accel_dev, const char *section,
>  		dev_err(&GET_DEV(accel_dev), "Can't get ring number\n");
>  		return -EFAULT;
>  	}
> +	if (ring_num >= ARRAY_SIZE(bank->rings)) {
> +		dev_err(&GET_DEV(accel_dev), "Invalid ring number\n");
> +		return -EFAULT;
> +	}
>  
>  	bank = &transport_data->banks[bank_num];
>  	if (adf_reserve_ring(bank, ring_num)) {
> 

ACK, although I would use the ADF_ETR_MAX_RINGS_PER_BANK define.
So if you don't mind.
Thanks!
---8<---

Add range check for ring number.

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Tadeusz Struk <tadeusz.struk@intel.com>

diff --git a/drivers/crypto/qat/qat_common/adf_transport.c b/drivers/crypto/qat/qat_common/adf_transport.c
index d5d8198..3865ae8 100644
--- a/drivers/crypto/qat/qat_common/adf_transport.c
+++ b/drivers/crypto/qat/qat_common/adf_transport.c
@@ -264,6 +264,10 @@ int adf_create_ring(struct adf_accel_dev *accel_dev, const char *section,
 		dev_err(&GET_DEV(accel_dev), "Can't get ring number\n");
 		return -EFAULT;
 	}
+	if (ring_num >= ADF_ETR_MAX_RINGS_PER_BANK) {
+		dev_err(&GET_DEV(accel_dev), "Invalid ring number\n");
+		return -EFAULT;
+	}
 
 	bank = &transport_data->banks[bank_num];
 	if (adf_reserve_ring(bank, ring_num)) {


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

* Re: [patch] crypto: qat - silence a static checker warning
  2015-08-22 15:29   ` Tadeusz Struk
@ 2015-08-24 14:24     ` Herbert Xu
  -1 siblings, 0 replies; 6+ messages in thread
From: Herbert Xu @ 2015-08-24 14:24 UTC (permalink / raw)
  To: Tadeusz Struk
  Cc: Dan Carpenter, David S. Miller, Allan, Bruce W, Ahsan Atta,
	qat-linux, linux-crypto, kernel-janitors

On Sat, Aug 22, 2015 at 08:29:30AM -0700, Tadeusz Struk wrote:
>
> Add range check for ring number.
> 
> Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
> Signed-off-by: Tadeusz Struk <tadeusz.struk@intel.com>

Applied.
-- 
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] 6+ messages in thread

* Re: [patch] crypto: qat - silence a static checker warning
@ 2015-08-24 14:24     ` Herbert Xu
  0 siblings, 0 replies; 6+ messages in thread
From: Herbert Xu @ 2015-08-24 14:24 UTC (permalink / raw)
  To: Tadeusz Struk
  Cc: Dan Carpenter, David S. Miller, Allan, Bruce W, Ahsan Atta,
	qat-linux, linux-crypto, kernel-janitors

On Sat, Aug 22, 2015 at 08:29:30AM -0700, Tadeusz Struk wrote:
>
> Add range check for ring number.
> 
> Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
> Signed-off-by: Tadeusz Struk <tadeusz.struk@intel.com>

Applied.
-- 
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] 6+ messages in thread

end of thread, other threads:[~2015-08-24 14:24 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-08-21  8:47 [patch] crypto: qat - silence a static checker warning Dan Carpenter
2015-08-21  8:47 ` Dan Carpenter
2015-08-22 15:29 ` Tadeusz Struk
2015-08-22 15:29   ` Tadeusz Struk
2015-08-24 14:24   ` Herbert Xu
2015-08-24 14:24     ` Herbert Xu

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.