All of lore.kernel.org
 help / color / mirror / Atom feed
* [lm-sensors] [PATCH v2 1/2] hwmon: (ads1015) Fix out-of-bounds array access
@ 2014-08-02  6:25 Axel Lin
  2014-08-04 14:23 ` Guenter Roeck
  0 siblings, 1 reply; 2+ messages in thread
From: Axel Lin @ 2014-08-02  6:25 UTC (permalink / raw)
  To: lm-sensors

Current code uses data_rate as array index in ads1015_read_adc() and uses pga
as array index in ads1015_reg_to_mv, so we must make sure both data_rate and
pga settings are in valid value range. Both "ti,gain" and "ti,datarate" are
optional properties, so use default setting if the setting is out-of-range.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
---
 drivers/hwmon/ads1015.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/hwmon/ads1015.c b/drivers/hwmon/ads1015.c
index 22e0c92..fe1a5a1 100644
--- a/drivers/hwmon/ads1015.c
+++ b/drivers/hwmon/ads1015.c
@@ -212,6 +212,7 @@ static int ads1015_get_channels_config_of(struct i2c_client *client)
 				dev_err(&client->dev,
 					"invalid gain on %s\n",
 					node->full_name);
+				pga = ADS1015_DEFAULT_PGA;
 			}
 		}
 
@@ -222,6 +223,7 @@ static int ads1015_get_channels_config_of(struct i2c_client *client)
 				dev_err(&client->dev,
 					"invalid data_rate on %s\n",
 					node->full_name);
+				data_rate = ADS1015_DEFAULT_DATA_RATE;
 			}
 		}
 
-- 
1.9.1




_______________________________________________
lm-sensors mailing list
lm-sensors@lm-sensors.org
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors

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

* Re: [lm-sensors] [PATCH v2 1/2] hwmon: (ads1015) Fix out-of-bounds array access
  2014-08-02  6:25 [lm-sensors] [PATCH v2 1/2] hwmon: (ads1015) Fix out-of-bounds array access Axel Lin
@ 2014-08-04 14:23 ` Guenter Roeck
  0 siblings, 0 replies; 2+ messages in thread
From: Guenter Roeck @ 2014-08-04 14:23 UTC (permalink / raw)
  To: lm-sensors

On 08/01/2014 11:25 PM, Axel Lin wrote:
> Current code uses data_rate as array index in ads1015_read_adc() and uses pga
> as array index in ads1015_reg_to_mv, so we must make sure both data_rate and
> pga settings are in valid value range. Both "ti,gain" and "ti,datarate" are
> optional properties, so use default setting if the setting is out-of-range.
>
> Signed-off-by: Axel Lin <axel.lin@ingics.com>

Excellent catch.

I don't like either solution, though. Returning -EINVAL in the error case seems
to be more appropriate and should be the expected response.

Guenter

> ---
>   drivers/hwmon/ads1015.c | 2 ++
>   1 file changed, 2 insertions(+)
>
> diff --git a/drivers/hwmon/ads1015.c b/drivers/hwmon/ads1015.c
> index 22e0c92..fe1a5a1 100644
> --- a/drivers/hwmon/ads1015.c
> +++ b/drivers/hwmon/ads1015.c
> @@ -212,6 +212,7 @@ static int ads1015_get_channels_config_of(struct i2c_client *client)
>   				dev_err(&client->dev,
>   					"invalid gain on %s\n",
>   					node->full_name);
> +				pga = ADS1015_DEFAULT_PGA;
>   			}
>   		}
>
> @@ -222,6 +223,7 @@ static int ads1015_get_channels_config_of(struct i2c_client *client)
>   				dev_err(&client->dev,
>   					"invalid data_rate on %s\n",
>   					node->full_name);
> +				data_rate = ADS1015_DEFAULT_DATA_RATE;
>   			}
>   		}
>
>


_______________________________________________
lm-sensors mailing list
lm-sensors@lm-sensors.org
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors

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

end of thread, other threads:[~2014-08-04 14:23 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-08-02  6:25 [lm-sensors] [PATCH v2 1/2] hwmon: (ads1015) Fix out-of-bounds array access Axel Lin
2014-08-04 14:23 ` Guenter Roeck

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.