mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-25 07:30:53 +07:00
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 <jdelvare@suse.de> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
This commit is contained in:
parent
12fa55ccc4
commit
67b2003485
@ -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])
|
||||
|
Loading…
Reference in New Issue
Block a user