From: Kari Argillander Date: Fri, 19 Dec 2025 15:48:15 +0000 (+0200) Subject: hwmon: Use sysfs_emit in show function callbacks X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=141d3002521609991bc016c79ed05f10a0189e8d;p=thirdparty%2Fkernel%2Flinux.git 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 Link: https://lore.kernel.org/r/20251219-hwmon-fixes-v1-2-21b29097ea3b@gmail.com Signed-off-by: Guenter Roeck --- diff --git a/drivers/hwmon/hwmon.c b/drivers/hwmon/hwmon.c index 7a784d685d77f..714caa6a36a3e 100644 --- a/drivers/hwmon/hwmon.c +++ b/drivers/hwmon/hwmon.c @@ -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,