[PATCH v2 0/3] x86_64: Make int3 non-magical

From: Andy Lutomirski
Date: Sat Jul 25 2015 - 01:57:21 EST


int3 uses IST and the paranoid gsbase path. Neither is necessary,
although the IST stack may currently be necessary to avoid stack
overruns.

Clean up IRQ stacks, make them NMI safe, teach idtentry to use
irqstacks if requested, and move int3 to the IRQ stack.

This prepares us to return from int3 using RET. While we could,
in principle, return from an IST entry using RET, making that work
seems likely to be much messier and more fragile than this approach.

Changes from v1: Actually NMI-safe

Andy Lutomirski (3):
x86/entry/64: Refactor IRQ stacks and make them NMI-safe
x86/entry/64: Teach idtentry to use the IRQ stack
x86/entry/64: Move #BP from IST to the IRQ stack

arch/x86/Kconfig.debug | 2 -
arch/x86/entry/entry_64.S | 105 ++++++++++++++++++++++++++++++-------------
arch/x86/kernel/process_64.c | 4 ++
arch/x86/kernel/traps.c | 26 +++++------
4 files changed, 90 insertions(+), 47 deletions(-)

--
2.4.3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/