]> git.hungrycats.org Git - linux/commit
x86_64, traps: Fix the espfix64 #DF fixup and rewrite it in C
authorAndy Lutomirski <luto@amacapital.net>
Sun, 23 Nov 2014 02:00:31 +0000 (18:00 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 6 Dec 2014 23:57:14 +0000 (15:57 -0800)
commitc769efd690cbc2439d7dd33beb03db83ecb4c514
tree05a75d89cef27ecb89ba4331f69473132f469e65
parent40f777934f98746b3a5fc4ef5e496bc5c17b5ffe
x86_64, traps: Fix the espfix64 #DF fixup and rewrite it in C

commit af726f21ed8af2cdaa4e93098dc211521218ae65 upstream.

There's nothing special enough about the espfix64 double fault fixup to
justify writing it in assembly.  Move it to C.

This also fixes a bug: if the double fault came from an IST stack, the
old asm code would return to a partially uninitialized stack frame.

Fixes: 3891a04aafd668686239349ea58f3314ea2af86b
Signed-off-by: Andy Lutomirski <luto@amacapital.net>
Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/x86/kernel/entry_64.S
arch/x86/kernel/traps.c