| From 53ab0556927a9558908f1dc0cc732b678a7a665e Mon Sep 17 00:00:00 2001 |
| From: Cristian Marussi <cristian.marussi@arm.com> |
| Date: Wed, 15 Jul 2020 13:13:38 +0100 |
| Subject: [PATCH] hwmon: (scmi) Fix potential buffer overflow in |
| scmi_hwmon_probe() |
| |
| commit 3ce17cd2b94907f6d91b81b32848044b84c97606 upstream. |
| |
| 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> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/drivers/hwmon/scmi-hwmon.c b/drivers/hwmon/scmi-hwmon.c |
| index a80183a488c5..8c70f6250241 100644 |
| --- a/drivers/hwmon/scmi-hwmon.c |
| +++ b/drivers/hwmon/scmi-hwmon.c |
| @@ -99,7 +99,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, |
| -- |
| 2.27.0 |
| |