x86_64, traps: Stop using IST for #SS
On a 32-bit kernel, this has no effect, since there are no IST stacks.
On a 64-bit kernel, #SS can only happen in user code, on a failed iret
to user space, a canonical violation on access via RSP or RBP, or a
genuine stack segment violation in 32-bit kernel code. The first two
cases don't need IST, and the latter two cases are unlikely fatal bugs,
and promoting them to double faults would be fine.
This fixes a bug in which the espfix64 code mishandles a stack segment
This saves 4k of memory per CPU and a tiny bit of code.
Signed-off-by: Andy Lutomirski <email@example.com>
Reviewed-by: Thomas Gleixner <firstname.lastname@example.org>
Signed-off-by: Linus Torvalds <email@example.com>
6 files changed