a0f7ab8a6a
cherry-pick from upstream 4.14
52 lines
1.9 KiB
Diff
52 lines
1.9 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Elena Reshetova <elena.reshetova@intel.com>
|
|
Date: Mon, 4 Sep 2017 13:11:51 +0300
|
|
Subject: [PATCH] Thermal/int340x: prevent speculative execution
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
CVE-2017-5753
|
|
CVE-2017-5715
|
|
|
|
Real commit text tbd
|
|
|
|
Signed-off-by: Elena Reshetova <elena.reshetova@intel.com>
|
|
Signed-off-by: Tim Chen <tim.c.chen@linux.intel.com>
|
|
Signed-off-by: Andy Whitcroft <apw@canonical.com>
|
|
Signed-off-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>
|
|
(cherry picked from commit 3904f4cadeeaa9370f0635eb2f66194ca238325b)
|
|
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
|
|
---
|
|
drivers/thermal/int340x_thermal/int340x_thermal_zone.c | 11 ++++++-----
|
|
1 file changed, 6 insertions(+), 5 deletions(-)
|
|
|
|
diff --git a/drivers/thermal/int340x_thermal/int340x_thermal_zone.c b/drivers/thermal/int340x_thermal/int340x_thermal_zone.c
|
|
index 145a5c53ff5c..4f9917ef3c11 100644
|
|
--- a/drivers/thermal/int340x_thermal/int340x_thermal_zone.c
|
|
+++ b/drivers/thermal/int340x_thermal/int340x_thermal_zone.c
|
|
@@ -57,15 +57,16 @@ static int int340x_thermal_get_trip_temp(struct thermal_zone_device *zone,
|
|
if (d->override_ops && d->override_ops->get_trip_temp)
|
|
return d->override_ops->get_trip_temp(zone, trip, temp);
|
|
|
|
- if (trip < d->aux_trip_nr)
|
|
+ if (trip < d->aux_trip_nr) {
|
|
+ gmb();
|
|
*temp = d->aux_trips[trip];
|
|
- else if (trip == d->crt_trip_id)
|
|
+ } else if (trip == d->crt_trip_id) {
|
|
*temp = d->crt_temp;
|
|
- else if (trip == d->psv_trip_id)
|
|
+ } else if (trip == d->psv_trip_id) {
|
|
*temp = d->psv_temp;
|
|
- else if (trip == d->hot_trip_id)
|
|
+ } else if (trip == d->hot_trip_id) {
|
|
*temp = d->hot_temp;
|
|
- else {
|
|
+ } else {
|
|
for (i = 0; i < INT340X_THERMAL_MAX_ACT_TRIP_COUNT; i++) {
|
|
if (d->act_trips[i].valid &&
|
|
d->act_trips[i].id == trip) {
|
|
--
|
|
2.14.2
|
|
|