public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] ab3100: fix off-by-one value range checking for voltage selector
@ 2010-07-26  5:35 Axel Lin
  2010-07-26  7:06 ` Mark Brown
  0 siblings, 1 reply; 2+ messages in thread
From: Axel Lin @ 2010-07-26  5:35 UTC (permalink / raw)
  To: linux-kernel; +Cc: Liam Girdwood, Mark Brown, Linus Walleij, Mattias Wallin

The valid typ_voltages range should be 0..voltages_len-1.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
---
 drivers/regulator/ab3100.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/regulator/ab3100.c b/drivers/regulator/ab3100.c
index 7b14a67..1179099 100644
--- a/drivers/regulator/ab3100.c
+++ b/drivers/regulator/ab3100.c
@@ -286,7 +286,7 @@ static int ab3100_list_voltage_regulator(struct regulator_dev *reg,
 {
 	struct ab3100_regulator *abreg = reg->reg_data;
 
-	if (selector > abreg->voltages_len)
+	if (selector >= abreg->voltages_len)
 		return -EINVAL;
 	return abreg->typ_voltages[selector];
 }
@@ -318,7 +318,7 @@ static int ab3100_get_voltage_regulator(struct regulator_dev *reg)
 	regval &= 0xE0;
 	regval >>= 5;
 
-	if (regval > abreg->voltages_len) {
+	if (regval >= abreg->voltages_len) {
 		dev_err(&reg->dev,
 			"regulator register %02x contains an illegal voltage setting\n",
 			abreg->regreg);
-- 
1.5.4.3




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

* Re: [PATCH] ab3100: fix off-by-one value range checking for voltage selector
  2010-07-26  5:35 [PATCH] ab3100: fix off-by-one value range checking for voltage selector Axel Lin
@ 2010-07-26  7:06 ` Mark Brown
  0 siblings, 0 replies; 2+ messages in thread
From: Mark Brown @ 2010-07-26  7:06 UTC (permalink / raw)
  To: Axel Lin; +Cc: linux-kernel, Liam Girdwood, Linus Walleij, Mattias Wallin

On 25 Jul 2010, at 22:35, Axel Lin <axel.lin@gmail.com> wrote:

> The valid typ_voltages range should be 0..voltages_len-1.
> 
> Signed-off-by: Axel Lin <axel.lin@gmail.com>

Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

It'd be nice to include a few extra words in the change log explaining that the reason for the limit is that it's an array index.

> ---
> drivers/regulator/ab3100.c |    4 ++--
> 1 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/regulator/ab3100.c b/drivers/regulator/ab3100.c
> index 7b14a67..1179099 100644
> --- a/drivers/regulator/ab3100.c
> +++ b/drivers/regulator/ab3100.c
> @@ -286,7 +286,7 @@ static int ab3100_list_voltage_regulator(struct regulator_dev *reg,
> {
>  	struct ab3100_regulator *abreg = reg->reg_data;
> 
> -	if (selector > abreg->voltages_len)
> +	if (selector >= abreg->voltages_len)
>  		return -EINVAL;
>  	return abreg->typ_voltages[selector];
> }
> @@ -318,7 +318,7 @@ static int ab3100_get_voltage_regulator(struct regulator_dev *reg)
>  	regval &= 0xE0;
>  	regval >>= 5;
> 
> -	if (regval > abreg->voltages_len) {
> +	if (regval >= abreg->voltages_len) {
>  		dev_err(&reg->dev,
>  			"regulator register %02x contains an illegal voltage setting\n",
>  			abreg->regreg);
> -- 
> 1.5.4.3
> 
> 
> 

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

end of thread, other threads:[~2010-07-26  7:06 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-07-26  5:35 [PATCH] ab3100: fix off-by-one value range checking for voltage selector Axel Lin
2010-07-26  7:06 ` Mark Brown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox