summaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/entry_64.S
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2008-11-28 15:00:37 +0100
committerIngo Molnar <mingo@elte.hu>2008-11-28 15:00:48 +0100
commit3bdae4f46445ea7cc9ee031d7ff106fdc6228669 (patch)
treea44b445548dbf730535cfebd024e4cabadd4397c /arch/x86/kernel/entry_64.S
parent9f1e87ea3ecb3c46c21f6a1a202ec82f99ed2473 (diff)
parent5f5db591326779a80cfe490c5d6b6ce9fac08b31 (diff)
Merge branch 'x86/debug' into x86/irq
We merge this branch because x86/debug touches code that we started cleaning up in x86/irq. The two branches started out independent, but as unexpected amount of activity went into x86/irq, they became dependent. Resolve that by this cross-merge.
Diffstat (limited to 'arch/x86/kernel/entry_64.S')
-rw-r--r--arch/x86/kernel/entry_64.S3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/x86/kernel/entry_64.S b/arch/x86/kernel/entry_64.S
index 08c0c9777a0..e41734a537b 100644
--- a/arch/x86/kernel/entry_64.S
+++ b/arch/x86/kernel/entry_64.S
@@ -373,6 +373,7 @@ ENTRY(ret_from_fork)
call schedule_tail
GET_THREAD_INFO(%rcx)
testl $(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT),TI_flags(%rcx)
+ CFI_REMEMBER_STATE
jnz rff_trace
rff_action:
RESTORE_REST
@@ -382,6 +383,7 @@ rff_action:
jnz int_ret_from_sys_call
RESTORE_TOP_OF_STACK %rdi, -ARGOFFSET
jmp ret_from_sys_call
+ CFI_RESTORE_STATE
rff_trace:
movq %rsp,%rdi
call syscall_trace_leave
@@ -1173,6 +1175,7 @@ ENTRY(child_rip)
# exit
mov %eax, %edi
call do_exit
+ ud2 # padding for call trace
CFI_ENDPROC
END(child_rip)