diff options
| author | Guenter Roeck <[email protected]> | 2016-12-04 18:16:48 -0800 | 
|---|---|---|
| committer | Guenter Roeck <[email protected]> | 2016-12-12 11:33:43 -0800 | 
| commit | 67b2003485ee48dcfcb5338171defa4093bba02e (patch) | |
| tree | 20c77fcbdf51360025df77bad3b22dc47690d729 | |
| parent | 12fa55ccc49df52617d7454ba448c1876e189bac (diff) | |
hwmon: (lm85) Fix overflows seen when writing voltage limit attributes
Writes into voltage limit attributes can overflow due to an unbound
multiplication.
Reviewed-by: Jean Delvare <[email protected]>
Signed-off-by: Guenter Roeck <[email protected]>
| -rw-r--r-- | drivers/hwmon/lm85.c | 3 | 
1 files changed, 2 insertions, 1 deletions
| diff --git a/drivers/hwmon/lm85.c b/drivers/hwmon/lm85.c index 6ff773fcaefb..29c8136ce9c5 100644 --- a/drivers/hwmon/lm85.c +++ b/drivers/hwmon/lm85.c @@ -136,7 +136,8 @@ static const int lm85_scaling[] = {  /* .001 Volts */  #define SCALE(val, from, to)	(((val) * (to) + ((from) / 2)) / (from))  #define INS_TO_REG(n, val)	\ -		clamp_val(SCALE(val, lm85_scaling[n], 192), 0, 255) +		SCALE(clamp_val(val, 0, 255 * lm85_scaling[n] / 192), \ +		      lm85_scaling[n], 192)  #define INSEXT_FROM_REG(n, val, ext)	\  		SCALE(((val) << 4) + (ext), 192 << 4, lm85_scaling[n]) |