]> Git Repo - linux.git/commitdiff
x86: push old stack address on irqstack for unwinder
authorMartin Hicks <[email protected]>
Fri, 30 Jan 2009 16:50:54 +0000 (10:50 -0600)
committerH. Peter Anvin <[email protected]>
Tue, 3 Feb 2009 05:18:03 +0000 (21:18 -0800)
Impact: Fixes dumpstack and KDB on 64 bits

This re-adds the old stack pointer to the top of the irqstack to help
with unwinding.  It was removed in commit d99015b1abbad743aa049b439c1e1dede6d0fa49
as part of the save_args out-of-line work.

Both dumpstack and KDB require this information.

Signed-off-by: Martin Hicks <[email protected]>
Signed-off-by: H. Peter Anvin <[email protected]>
arch/x86/kernel/entry_64.S

index e28c7a987793cbd25c628c7568fc15ca2c8c39f5..a1346217e43c4d6cc636fa80ca70853970e64417 100644 (file)
@@ -346,6 +346,7 @@ ENTRY(save_args)
        popq_cfi %rax                   /* move return address... */
        mov %gs:pda_irqstackptr,%rsp
        EMPTY_FRAME 0
+       pushq_cfi %rbp                  /* backlink for unwinder */
        pushq_cfi %rax                  /* ... to the new stack */
        /*
         * We entered an interrupt context - irqs are off:
This page took 0.051193 seconds and 4 git commands to generate.