hwmon: (nct6775) Fix potential Spectre v1
authorGustavo A. R. Silva <gustavo@embeddedor.com>
Wed, 15 Aug 2018 13:14:37 +0000 (08:14 -0500)
committerGuenter Roeck <linux@roeck-us.net>
Mon, 27 Aug 2018 00:45:25 +0000 (17:45 -0700)
commitd49dbfade96d5b0863ca8a90122a805edd5ef50a
tree730c6cb452f851db3274f9397798c6ea47fd25a0
parentf196dec6d50abb2e65fb54a0621b2f1b4d922995
hwmon: (nct6775) Fix potential Spectre v1

val can be indirectly controlled by user-space, hence leading to
a potential exploitation of the Spectre variant 1 vulnerability.

This issue was detected with the help of Smatch:

vers/hwmon/nct6775.c:2698 store_pwm_weight_temp_sel() warn: potential
spectre issue 'data->temp_src' [r]

Fix this by sanitizing val before using it to index data->temp_src

Notice that given that speculation windows are large, the policy is
to kill the speculation on the first load and not worry if it can be
completed with a dependent load/store [1].

[1] https://marc.info/?l=linux-kernel&m=152449131114778&w=2

Cc: stable@vger.kernel.org
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
drivers/hwmon/nct6775.c