linux_dsm_epyc7002/arch/x86/xen
Andy Lutomirski f41f082422 x86/entry/xen: Route #DB correctly on Xen PV
On Xen PV, #DB doesn't use IST. It still needs to be correctly routed
depending on whether it came from user or kernel mode.

Get rid of DECLARE/DEFINE_IDTENTRY_XEN -- it was too hard to follow the
logic.  Instead, route #DB and NMI through DECLARE/DEFINE_IDTENTRY_RAW on
Xen, and do the right thing for #DB.  Also add more warnings to the
exc_debug* handlers to make this type of failure more obvious.

This fixes various forms of corruption that happen when usermode
triggers #DB on Xen PV.

Fixes: 4c0dcd8350 ("x86/entry: Implement user mode C entry points for #DB and #MCE")
Signed-off-by: Andy Lutomirski <luto@kernel.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lkml.kernel.org/r/4163e733cce0b41658e252c6c6b3464f33fdff17.1593795633.git.luto@kernel.org
2020-07-04 19:47:25 +02:00
..
apic.c
debugfs.c
debugfs.h
efi.c
enlighten_hvm.c x86/entry: Convert XEN hypercall vector to IDTENTRY_SYSVEC 2020-06-11 15:15:15 +02:00
enlighten_pv.c x86/entry/xen: Route #DB correctly on Xen PV 2020-07-04 19:47:25 +02:00
enlighten_pvh.c
enlighten.c
grant-table.c mm: don't include asm/pgtable.h if linux/mm.h is already included 2020-06-09 09:39:13 -07:00
irq.c
Kconfig
Makefile
mmu_hvm.c
mmu_pv.c mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00
mmu.c
mmu.h
multicalls.c
multicalls.h
p2m.c
pci-swiotlb-xen.c
platform-pci-unplug.c
pmu.c
pmu.h
setup.c x86/entry: Switch XEN/PV hypercall entry to IDTENTRY 2020-06-11 15:15:08 +02:00
smp_hvm.c
smp_pv.c x86/entry: Switch XEN/PV hypercall entry to IDTENTRY 2020-06-11 15:15:08 +02:00
smp.c
smp.h
spinlock.c
suspend_hvm.c xen: Move xen_setup_callback_vector() definition to include/xen/hvm.h 2020-06-11 15:15:19 +02:00
suspend_pv.c
suspend.c
time.c
trace.c
vdso.h
vga.c
xen-asm_32.S x86/entry: Switch XEN/PV hypercall entry to IDTENTRY 2020-06-11 15:15:08 +02:00
xen-asm_64.S x86/entry/xen: Route #DB correctly on Xen PV 2020-07-04 19:47:25 +02:00
xen-asm.S
xen-head.S
xen-ops.h xen: Move xen_setup_callback_vector() definition to include/xen/hvm.h 2020-06-11 15:15:19 +02:00