Skip to content

x86_64: Make int3 non-magical

Andy Lutomirski lkml 2 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest3 patches 9 repliesIn review
  2. v13 patches 18 repliesSuperseded

Patches in v2 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/3x86/entry/64: Refactor IRQ stacks and make them NMI-safearch/x86/Kconfig.debug arch/x86/entry/entry_64.S arch/x86/kernel/process_64.c+63 -325 replies
2/3x86/entry/64: Teach idtentry to use the IRQ stackarch/x86/entry/entry_64.S+13 -11 reply
3/3x86/entry/64: Move #BP from IST to the IRQ stackarch/x86/entry/entry_64.S arch/x86/kernel/traps.c+14 -143 replies

Reviews trailers per patch

2 of 3 patches have a Reviewed-by or Acked-by.

PatchBorislav Petkov
1/3R-b
2/3R-b
3/3

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v2 thread

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

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(-)
Signature · 1 line
2.4.3