]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
hwmon: (scmi) Fix potential buffer overflow in scmi_hwmon_probe()
authorCristian Marussi <cristian.marussi@arm.com>
Wed, 15 Jul 2020 12:13:38 +0000 (13:13 +0100)
committerGuenter Roeck <linux@roeck-us.net>
Wed, 15 Jul 2020 14:08:21 +0000 (07:08 -0700)
SMATCH detected a potential buffer overflow in the manipulation of
hwmon_attributes array inside the scmi_hwmon_probe function:

drivers/hwmon/scmi-hwmon.c:226
 scmi_hwmon_probe() error: buffer overflow 'hwmon_attributes' 6 <= 9

Fix it by statically declaring the size of the array as the maximum
possible as defined by hwmon_max define.

Signed-off-by: Cristian Marussi <cristian.marussi@arm.com>
Reviewed-by: Sudeep Holla <sudeep.holla@arm.com>
Link: https://lore.kernel.org/r/20200715121338.GA18761@e119603-lin.cambridge.arm.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
drivers/hwmon/scmi-hwmon.c

index 286d3cfda7de868306099315ea91c975d885c718..d421e691318b32b7f89d77fc33f2c2a49bb0002f 100644 (file)
@@ -147,7 +147,7 @@ static enum hwmon_sensor_types scmi_types[] = {
        [ENERGY] = hwmon_energy,
 };
 
-static u32 hwmon_attributes[] = {
+static u32 hwmon_attributes[hwmon_max] = {
        [hwmon_chip] = HWMON_C_REGISTER_TZ,
        [hwmon_temp] = HWMON_T_INPUT | HWMON_T_LABEL,
        [hwmon_in] = HWMON_I_INPUT | HWMON_I_LABEL,