[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20190521044456.26431-1-yamada.masahiro@socionext.com>
Date: Tue, 21 May 2019 13:44:56 +0900
From: Masahiro Yamada <yamada.masahiro@...ionext.com>
To: Jean Delvare <jdelvare@...e.com>,
Guenter Roeck <linux@...ck-us.net>, linux-hwmon@...r.kernel.org
Cc: Masahiro Yamada <yamada.masahiro@...ionext.com>,
linux-kernel@...r.kernel.org
Subject: [PATCH] hwmon: (smsc47m1) fix outside array bounds warnings
Kbuild test robot reports outside array bounds warnings:
CC [M] drivers/hwmon/smsc47m1.o
drivers/hwmon/smsc47m1.c: In function 'fan_div_store':
drivers/hwmon/smsc47m1.c:370:49: warning: array subscript [0, 2] is outside array bounds of 'u8[3]' {aka 'unsigned char[3]'} [-Warray-bounds]
tmp = 192 - (old_div * (192 - data->fan_preload[nr])
~~~~~~~~~~~~~~~~~^~~~
drivers/hwmon/smsc47m1.c:372:19: warning: array subscript [0, 2] is outside array bounds of 'u8[3]' {aka 'unsigned char[3]'} [-Warray-bounds]
data->fan_preload[nr] = clamp_val(tmp, 0, 191);
~~~~~~~~~~~~~~~~~^~~~
drivers/hwmon/smsc47m1.c:373:53: warning: array subscript [0, 2] is outside array bounds of 'const u8[3]' {aka 'const unsigned char[3]'} [-Warray-bounds]
smsc47m1_write_value(data, SMSC47M1_REG_FAN_PRELOAD[nr],
~~~~~~~~~~~~~~~~~~~~~~~~^~~~
The index field in the SENSOR_DEVICE_ATTR_R* defines is 0, 1, or 2.
However, the compiler never knows the fact that the default in the
switch statement is unreachable.
Reported-by: kbuild test robot <lkp@...el.com>
Signed-off-by: Masahiro Yamada <yamada.masahiro@...ionext.com>
---
drivers/hwmon/smsc47m1.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/hwmon/smsc47m1.c b/drivers/hwmon/smsc47m1.c
index 5f92eab24c62..e00102e05666 100644
--- a/drivers/hwmon/smsc47m1.c
+++ b/drivers/hwmon/smsc47m1.c
@@ -364,6 +364,10 @@ static ssize_t fan_div_store(struct device *dev,
tmp |= data->fan_div[2] << 4;
smsc47m1_write_value(data, SMSC47M2_REG_FANDIV3, tmp);
break;
+ default:
+ WARN_ON(1);
+ mutex_unlock(&data->update_lock);
+ return -EINVAL;
}
/* Preserve fan min */
--
2.17.1
Powered by blists - more mailing lists