aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@novell.com>2006-06-26 07:57:38 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2006-06-26 13:48:17 -0400
commitdffead4e421e289c8434351400d24fd35723e874 (patch)
tree8b95fac885640f1abfa4b67758b3fb6a521e061a
parent1de9c3f67ec6fddfb85325bab551f4094f55f410 (diff)
[PATCH] x86_64: reliable stack trace support (x86-64 syscall
Adjust the CFA offset for 64- and 32-bit syscall entries so that the five slots pre-subtracted from the stack pointer do not appear to reside outside of the current frame. Signed-off-by: Jan Beulich <jbeulich@novell.com> Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--arch/x86_64/ia32/ia32entry.S2
-rw-r--r--arch/x86_64/kernel/entry.S2
2 files changed, 2 insertions, 2 deletions
diff --git a/arch/x86_64/ia32/ia32entry.S b/arch/x86_64/ia32/ia32entry.S
index d073ca34d4f5..222777b26142 100644
--- a/arch/x86_64/ia32/ia32entry.S
+++ b/arch/x86_64/ia32/ia32entry.S
@@ -179,7 +179,7 @@ ENDPROC(ia32_sysenter_target)
179 */ 179 */
180ENTRY(ia32_cstar_target) 180ENTRY(ia32_cstar_target)
181 CFI_STARTPROC32 simple 181 CFI_STARTPROC32 simple
182 CFI_DEF_CFA rsp,0 182 CFI_DEF_CFA rsp,PDA_STACKOFFSET
183 CFI_REGISTER rip,rcx 183 CFI_REGISTER rip,rcx
184 /*CFI_REGISTER rflags,r11*/ 184 /*CFI_REGISTER rflags,r11*/
185 swapgs 185 swapgs
diff --git a/arch/x86_64/kernel/entry.S b/arch/x86_64/kernel/entry.S
index 4f407ef6b865..7290e72b9a34 100644
--- a/arch/x86_64/kernel/entry.S
+++ b/arch/x86_64/kernel/entry.S
@@ -189,7 +189,7 @@ END(ret_from_fork)
189 189
190ENTRY(system_call) 190ENTRY(system_call)
191 CFI_STARTPROC simple 191 CFI_STARTPROC simple
192 CFI_DEF_CFA rsp,0 192 CFI_DEF_CFA rsp,PDA_STACKOFFSET
193 CFI_REGISTER rip,rcx 193 CFI_REGISTER rip,rcx
194 /*CFI_REGISTER rflags,r11*/ 194 /*CFI_REGISTER rflags,r11*/
195 swapgs 195 swapgs