| From foo@baz Thu Dec 21 09:02:40 CET 2017 |
| From: Arnd Bergmann <arnd@arndb.de> |
| Date: Thu, 23 Mar 2017 16:03:11 +0100 |
| Subject: hwmon: (asus_atk0110) fix uninitialized data access |
| |
| From: Arnd Bergmann <arnd@arndb.de> |
| |
| |
| [ Upstream commit a2125d02443e9a4e68bcfd9f8004fa23239e8329 ] |
| |
| The latest gcc-7 snapshot adds a warning to point out that when |
| atk_read_value_old or atk_read_value_new fails, we copy |
| uninitialized data into sensor->cached_value: |
| |
| drivers/hwmon/asus_atk0110.c: In function 'atk_input_show': |
| drivers/hwmon/asus_atk0110.c:651:26: error: 'value' may be used uninitialized in this function [-Werror=maybe-uninitialized] |
| |
| Adding an error check avoids this. All versions of the driver |
| are affected. |
| |
| Fixes: 2c03d07ad54d ("hwmon: Add Asus ATK0110 support") |
| Signed-off-by: Arnd Bergmann <arnd@arndb.de> |
| Reviewed-by: Luca Tettamanti <kronos.it@gmail.com> |
| Signed-off-by: Guenter Roeck <linux@roeck-us.net> |
| Signed-off-by: Sasha Levin <alexander.levin@verizon.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/hwmon/asus_atk0110.c | 3 +++ |
| 1 file changed, 3 insertions(+) |
| |
| --- a/drivers/hwmon/asus_atk0110.c |
| +++ b/drivers/hwmon/asus_atk0110.c |
| @@ -646,6 +646,9 @@ static int atk_read_value(struct atk_sen |
| else |
| err = atk_read_value_new(sensor, value); |
| |
| + if (err) |
| + return err; |
| + |
| sensor->is_valid = true; |
| sensor->last_updated = jiffies; |
| sensor->cached_value = *value; |