From: Guenter Roeck Date: Sat, 3 Dec 2016 19:07:14 +0000 (-0800) Subject: hwmon: (adm1025) Fix overflows seen when writing voltage limits X-Git-Tag: v4.10-rc1~140^2~9 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=7cb53e28b03006fa655632fe07b27a862f3f5cb5;p=karo-tx-linux.git hwmon: (adm1025) Fix overflows seen when writing voltage limits Writes into voltage limit attributes can overflow due to an unbound multiplication. Reviewed-by: Jean Delvare Signed-off-by: Guenter Roeck --- diff --git a/drivers/hwmon/adm1025.c b/drivers/hwmon/adm1025.c index d6c767ace916..1abb4609b412 100644 --- a/drivers/hwmon/adm1025.c +++ b/drivers/hwmon/adm1025.c @@ -93,7 +93,7 @@ static const int in_scale[6] = { 2500, 2250, 3300, 5000, 12000, 3300 }; #define IN_FROM_REG(reg, scale) (((reg) * (scale) + 96) / 192) #define IN_TO_REG(val, scale) ((val) <= 0 ? 0 : \ - (val) * 192 >= (scale) * 255 ? 255 : \ + (val) >= (scale) * 255 / 192 ? 255 : \ ((val) * 192 + (scale) / 2) / (scale)) #define TEMP_FROM_REG(reg) ((reg) * 1000)