Writes into voltage limit attributes can overflow due to an unbound
multiplication.

Signed-off-by: Guenter Roeck <li...@roeck-us.net>
---
 drivers/hwmon/adm1025.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

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)
-- 
2.5.0

--
To unsubscribe from this list: send the line "unsubscribe linux-hwmon" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to