mirror of
https://github.com/torvalds/linux.git
synced 2026-09-12 04:23:03 +02:00
hwmon: (ina2xx) Acquire hwmon_lock in shunt_resistor_show()
shunt_resistor_store() currently acquires hwmon_lock to set
data->rshunt, but the corresponding access in shunt_resistor_show() is
unprotected. Acquire the lock in shunt_resistor_show() as well to ensure
proper synchronization.
Fixes: 3ad867001c ("hwmon: (ina2xx) fix sysfs shunt resistor read access")
Reported-by: Sashiko <sashiko-bot@kernel.org>
Closes: https://lore.kernel.org/all/20260729162836.89BDF1F00A3A@smtp.kernel.org/
Signed-off-by: Jared Kangas <jkangas@redhat.com>
Link: https://patch.msgid.link/20260820-upstream-ina2xx-in0-curr1-alarms-v2-1-fdce35abc41e@redhat.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
This commit is contained in:
parent
354ccc99b2
commit
8afc94bfb0
|
|
@ -883,8 +883,12 @@ static ssize_t shunt_resistor_show(struct device *dev,
|
|||
struct device_attribute *da, char *buf)
|
||||
{
|
||||
struct ina2xx_data *data = dev_get_drvdata(dev);
|
||||
long rshunt;
|
||||
|
||||
return sysfs_emit(buf, "%li\n", data->rshunt);
|
||||
scoped_guard(hwmon_lock, dev) {
|
||||
rshunt = data->rshunt;
|
||||
}
|
||||
return sysfs_emit(buf, "%li\n", rshunt);
|
||||
}
|
||||
|
||||
static ssize_t shunt_resistor_store(struct device *dev,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user