diff options
author | Andy Lutomirski <luto@kernel.org> | 2020-06-11 20:26:38 -0700 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2020-06-12 12:12:57 +0200 |
commit | 15a416e8aaa758b5534f64a3972dae05275bc225 (patch) | |
tree | e4ae9ce3068dbd6df81a2a445be81e015a387aa5 /arch/unicore32 | |
parent | f0178fc01fe46bab6a95415f5647d1a74efcad1b (diff) | |
download | linux-15a416e8aaa758b5534f64a3972dae05275bc225.tar.bz2 |
x86/entry: Treat BUG/WARN as NMI-like entries
BUG/WARN are cleverly optimized using UD2 to handle the BUG/WARN out of
line in an exception fixup.
But if BUG or WARN is issued in a funny RCU context, then the
idtentry_enter...() path might helpfully WARN that the RCU context is
invalid, which results in infinite recursion.
Split the BUG/WARN handling into an nmi_enter()/nmi_exit() path in
exc_invalid_op() to increase the chance to survive the experience.
[ tglx: Make the declaration match the implementation ]
Signed-off-by: Andy Lutomirski <luto@kernel.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lkml.kernel.org/r/f8fe40e0088749734b4435b554f73eee53dcf7a8.1591932307.git.luto@kernel.org
Diffstat (limited to 'arch/unicore32')
0 files changed, 0 insertions, 0 deletions