diff options
author | Chuansheng Liu <chuansheng.liu@intel.com> | 2020-01-07 00:41:16 +0000 |
---|---|---|
committer | Borislav Petkov <bp@suse.de> | 2020-01-15 11:31:33 +0100 |
commit | 978370956d2046b19313659ce65ed12d5b996626 (patch) | |
tree | 45889e860a424843a3bb3dd2b8e6d26e5e3551e0 /Documentation/hwmon/adm1026.rst | |
parent | b3a987b0264d3ddbb24293ebff10eddfc472f653 (diff) | |
download | linux-978370956d2046b19313659ce65ed12d5b996626.tar.gz |
x86/mce/therm_throt: Do not access uninitialized therm_work
It is relatively easy to trigger the following boot splat on an Ice Lake
client platform. The call stack is like:
kernel BUG at kernel/timer/timer.c:1152!
Call Trace:
__queue_delayed_work
queue_delayed_work_on
therm_throt_process
intel_thermal_interrupt
...
The reason is that a CPU's thermal interrupt is enabled prior to
executing its hotplug onlining callback which will initialize the
throttling workqueues.
Such a race can lead to therm_throt_process() accessing an uninitialized
therm_work, leading to the above BUG at a very early bootup stage.
Therefore, unmask the thermal interrupt vector only after having setup
the workqueues completely.
[ bp: Heavily massage commit message and correct comment formatting. ]
Fixes: f6656208f04e ("x86/mce/therm_throt: Optimize notifications of thermal throttle")
Signed-off-by: Chuansheng Liu <chuansheng.liu@intel.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Acked-by: Tony Luck <tony.luck@intel.com>
Link: https://lkml.kernel.org/r/20200107004116.59353-1-chuansheng.liu@intel.com
Diffstat (limited to 'Documentation/hwmon/adm1026.rst')
0 files changed, 0 insertions, 0 deletions