hwmon: Use sysfs_emit in show function callbacks

Use sysfs_emit() over sprintf() to prevent potential overflows. In
hwmon_attr_show() that is totally impossible but looking other places
many still use sysfs_emit().

Also according Documentation/filesystems/sysfs.rst code should use
sysfs_emit().

Signed-off-by: Kari Argillander <kari.argillander@gmail.com>
Link: https://lore.kernel.org/r/20251219-hwmon-fixes-v1-2-21b29097ea3b@gmail.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
This commit is contained in:
Kari Argillander 2025-12-19 17:48:15 +02:00 committed by Guenter Roeck
parent aa8126b914
commit 141d300252

View File

@ -73,7 +73,7 @@ struct hwmon_thermal_data {
static ssize_t
name_show(struct device *dev, struct device_attribute *attr, char *buf)
{
return sprintf(buf, "%s\n", to_hwmon_device(dev)->name);
return sysfs_emit(buf, "%s\n", to_hwmon_device(dev)->name);
}
static DEVICE_ATTR_RO(name);
@ -446,7 +446,7 @@ static ssize_t hwmon_attr_show(struct device *dev,
trace_hwmon_attr_show(hattr->index + hwmon_attr_base(hattr->type),
hattr->name, val64);
return sprintf(buf, "%lld\n", val64);
return sysfs_emit(buf, "%lld\n", val64);
}
static ssize_t hwmon_attr_show_string(struct device *dev,
@ -469,7 +469,7 @@ static ssize_t hwmon_attr_show_string(struct device *dev,
trace_hwmon_attr_show_string(hattr->index + hwmon_attr_base(type),
hattr->name, s);
return sprintf(buf, "%s\n", s);
return sysfs_emit(buf, "%s\n", s);
}
static ssize_t hwmon_attr_store(struct device *dev,