[Yakkety][PATCH 1/1] Revert "x86/dumpstack: When OOPSing, rewind the stack before do_exit()"
Joseph Salisbury
joseph.salisbury at canonical.com
Wed Sep 28 19:10:39 UTC 2016
BugLink: http://bugs.launchpad.net/bugs/1627198
This reverts commit 2deb4be28077638591fe5fc593b7f8aabc140f42.
---
arch/x86/entry/entry_32.S | 11 -----------
arch/x86/entry/entry_64.S | 11 -----------
arch/x86/kernel/dumpstack.c | 10 +---------
3 files changed, 1 insertion(+), 31 deletions(-)
diff --git a/arch/x86/entry/entry_32.S b/arch/x86/entry/entry_32.S
index 0b56666..983e5d3 100644
--- a/arch/x86/entry/entry_32.S
+++ b/arch/x86/entry/entry_32.S
@@ -1153,14 +1153,3 @@ ENTRY(async_page_fault)
jmp error_code
END(async_page_fault)
#endif
-
-ENTRY(rewind_stack_do_exit)
- /* Prevent any naive code from trying to unwind to our caller. */
- xorl %ebp, %ebp
-
- movl PER_CPU_VAR(cpu_current_top_of_stack), %esi
- leal -TOP_OF_KERNEL_STACK_PADDING-PTREGS_SIZE(%esi), %esp
-
- call do_exit
-1: jmp 1b
-END(rewind_stack_do_exit)
diff --git a/arch/x86/entry/entry_64.S b/arch/x86/entry/entry_64.S
index d172c61..268a309 100644
--- a/arch/x86/entry/entry_64.S
+++ b/arch/x86/entry/entry_64.S
@@ -1438,14 +1438,3 @@ ENTRY(ignore_sysret)
mov $-ENOSYS, %eax
sysret
END(ignore_sysret)
-
-ENTRY(rewind_stack_do_exit)
- /* Prevent any naive code from trying to unwind to our caller. */
- xorl %ebp, %ebp
-
- movq PER_CPU_VAR(cpu_current_top_of_stack), %rax
- leaq -TOP_OF_KERNEL_STACK_PADDING-PTREGS_SIZE(%rax), %rsp
-
- call do_exit
-1: jmp 1b
-END(rewind_stack_do_exit)
diff --git a/arch/x86/kernel/dumpstack.c b/arch/x86/kernel/dumpstack.c
index 92e8f0a..ddca359 100644
--- a/arch/x86/kernel/dumpstack.c
+++ b/arch/x86/kernel/dumpstack.c
@@ -239,8 +239,6 @@ unsigned long oops_begin(void)
EXPORT_SYMBOL_GPL(oops_begin);
NOKPROBE_SYMBOL(oops_begin);
-void __noreturn rewind_stack_do_exit(int signr);
-
void oops_end(unsigned long flags, struct pt_regs *regs, int signr)
{
if (regs && kexec_should_crash(current))
@@ -262,13 +260,7 @@ void oops_end(unsigned long flags, struct pt_regs *regs, int signr)
panic("Fatal exception in interrupt");
if (panic_on_oops)
panic("Fatal exception");
-
- /*
- * We're not going to return, but we might be on an IST stack or
- * have very little stack space left. Rewind the stack and kill
- * the task.
- */
- rewind_stack_do_exit(signr);
+ do_exit(signr);
}
NOKPROBE_SYMBOL(oops_end);
--
2.7.4
More information about the kernel-team
mailing list