diff options
author | Siarhei Liakh <Siarhei.Liakh@concurrent-rt.com> | 2018-06-14 22:36:07 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2018-07-03 12:24:46 +0300 |
commit | ab693cc665ca539d3d79783fd1699fc52697469a (patch) | |
tree | a4f32f9630a91818c1f8a8796f923edec3fd30b1 /arch/m68k | |
parent | 64d44661e2207a408783360f3029b9a2c48a6daf (diff) | |
download | linux-ab693cc665ca539d3d79783fd1699fc52697469a.tar.xz |
x86: Call fixup_exception() before notify_die() in math_error()
commit 3ae6295ccb7cf6d344908209701badbbbb503e40 upstream.
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
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'arch/m68k')
0 files changed, 0 insertions, 0 deletions