]> git.karo-electronics.de Git - linux-beck.git/commitdiff
x86-64: Fix CFI data for common_interrupt()
authorMark Wielaard <mjw@redhat.com>
Fri, 24 Feb 2012 10:32:05 +0000 (11:32 +0100)
committerIngo Molnar <mingo@elte.hu>
Mon, 27 Feb 2012 09:46:14 +0000 (10:46 +0100)
Commit eab9e6137f23 ("x86-64: Fix CFI data for interrupt frames")
introduced a DW_CFA_def_cfa_expression in the SAVE_ARGS_IRQ
macro. To later define the CFA using a simple register+offset
rule both register and offset need to be supplied. Just using
CFI_DEF_CFA_REGISTER leaves the offset undefined. So use
CFI_DEF_CFA with reg+off explicitly at the end of
common_interrupt.

Signed-off-by: Mark Wielaard <mjw@redhat.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
Link: http://lkml.kernel.org/r/1330079527-30711-1-git-send-email-mjw@redhat.com
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/entry_64.S

index 3fe8239fd8fbd8ef692f57517d0d1dbd37f284ae..54be36bf2620811502fea946514c013c575dd06a 100644 (file)
@@ -813,7 +813,7 @@ ret_from_intr:
 
        /* Restore saved previous stack */
        popq %rsi
-       CFI_DEF_CFA_REGISTER    rsi
+       CFI_DEF_CFA rsi,SS+8-RBP        /* reg/off reset after def_cfa_expr */
        leaq ARGOFFSET-RBP(%rsi), %rsp
        CFI_DEF_CFA_REGISTER    rsp
        CFI_ADJUST_CFA_OFFSET   RBP-ARGOFFSET