diff options
author | Siarhei Liakh <Siarhei.Liakh@concurrent-rt.com> | 2018-06-14 19:36:07 +0000 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2018-06-20 11:44:56 +0200 |
commit | 3ae6295ccb7cf6d344908209701badbbbb503e40 (patch) | |
tree | 8c78733ff8b5fc228c089deb4002e90b70e6f781 /drivers/irqchip/irq-gic-v3-its-platform-msi.c | |
parent | 1d9f3e20a56d33e55748552aeec597f58542f92d (diff) | |
download | linux-3ae6295ccb7cf6d344908209701badbbbb503e40.tar.gz |
x86: Call fixup_exception() before notify_die() in math_error()
fpu__drop() has an explicit fwait which under some conditions can trigger a
fixable FPU exception while in kernel. Thus, we should attempt to fixup the
exception first, and only call notify_die() if the fixup failed just like
in do_general_protection(). The original call sequence incorrectly triggers
KDB entry on debug kernels under particular FPU-intensive workloads.
Andy noted, that this makes the whole conditional irq enable thing even
more inconsistent, but fixing that it outside the scope of this.
Signed-off-by: Siarhei Liakh <siarhei.liakh@concurrent-rt.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Andy Lutomirski <luto@kernel.org>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: "Borislav Petkov" <bpetkov@suse.de>
Cc: stable@vger.kernel.org
Link: https://lkml.kernel.org/r/DM5PR11MB201156F1CAB2592B07C79A03B17D0@DM5PR11MB2011.namprd11.prod.outlook.com
Diffstat (limited to 'drivers/irqchip/irq-gic-v3-its-platform-msi.c')
0 files changed, 0 insertions, 0 deletions