summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2020-07-08 21:28:05 +0200
committerThomas Gleixner <tglx@linutronix.de>2020-07-09 11:18:29 +0200
commitbce9b042ec73e8662b8119d4ca47e7c78b20d0bf (patch)
tree594c65f3873aeecc627645fc03ce635d65577f17
parentx86/entry/32: Fix XEN_PV build dependency (diff)
downloadlinux-bce9b042ec73e8662b8119d4ca47e7c78b20d0bf.tar.xz
linux-bce9b042ec73e8662b8119d4ca47e7c78b20d0bf.zip
x86/traps: Disable interrupts in exc_aligment_check()
exc_alignment_check() fails to disable interrupts before returning to the entry code. Fixes: ca4c6a9858c2 ("x86/traps: Make interrupt enable/disable symmetric in C code") Reported-by: syzbot+0889df9502bc0f112b31@syzkaller.appspotmail.com Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Andy Lutomirski <luto@kernel.org> Link: https://lkml.kernel.org/r/20200708192934.076519438@linutronix.de
-rw-r--r--arch/x86/kernel/traps.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/x86/kernel/traps.c b/arch/x86/kernel/traps.c
index 6ed8cc5fbe8f..4f3a509e5547 100644
--- a/arch/x86/kernel/traps.c
+++ b/arch/x86/kernel/traps.c
@@ -299,6 +299,8 @@ DEFINE_IDTENTRY_ERRORCODE(exc_alignment_check)
do_trap(X86_TRAP_AC, SIGBUS, "alignment check", regs,
error_code, BUS_ADRALN, NULL);
+
+ local_irq_disable();
}
#ifdef CONFIG_VMAP_STACK