]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
hwmon: Use sysfs_emit in show function callbacks
authorKari Argillander <kari.argillander@gmail.com>
Fri, 19 Dec 2025 15:48:15 +0000 (17:48 +0200)
committerGuenter Roeck <linux@roeck-us.net>
Sat, 31 Jan 2026 15:38:31 +0000 (07:38 -0800)
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>
drivers/hwmon/hwmon.c

index 7a784d685d77f27e8541fc7906bf5b6367ef6b00..714caa6a36a3e486ef07a5ad8c558b4e967a6463 100644 (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,