aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2009-03-13 10:23:39 +0100
committerIngo Molnar <mingo@elte.hu>2009-03-13 10:23:39 +0100
commit62a394eb77a1ddea73273f53ed8c3ccf6e04f2fb (patch)
treeee72d87524b29eb9457b45e02a4587d8fbd9191d /arch/x86/kernel
parentd2e82546ae98eee353fae57e389f487586fe380d (diff)
parent1b3fa2ce64363c289b3b14723cca7290bf91cfce (diff)
downloadkernel_samsung_smdk4412-62a394eb77a1ddea73273f53ed8c3ccf6e04f2fb.zip
kernel_samsung_smdk4412-62a394eb77a1ddea73273f53ed8c3ccf6e04f2fb.tar.gz
kernel_samsung_smdk4412-62a394eb77a1ddea73273f53ed8c3ccf6e04f2fb.tar.bz2
Merge branches 'tracing/ftrace' and 'tracing/syscalls'; commit 'v2.6.29-rc8' into tracing/core
Diffstat (limited to 'arch/x86/kernel')
-rw-r--r--arch/x86/kernel/ptrace.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/x86/kernel/ptrace.c b/arch/x86/kernel/ptrace.c
index 3d9672e..99749d6 100644
--- a/arch/x86/kernel/ptrace.c
+++ b/arch/x86/kernel/ptrace.c
@@ -21,6 +21,7 @@
#include <linux/audit.h>
#include <linux/seccomp.h>
#include <linux/signal.h>
+#include <linux/ftrace.h>
#include <asm/uaccess.h>
#include <asm/pgtable.h>
@@ -1416,6 +1417,9 @@ asmregparm long syscall_trace_enter(struct pt_regs *regs)
tracehook_report_syscall_entry(regs))
ret = -1L;
+ if (unlikely(test_thread_flag(TIF_SYSCALL_FTRACE)))
+ ftrace_syscall_enter(regs);
+
if (unlikely(current->audit_context)) {
if (IS_IA32)
audit_syscall_entry(AUDIT_ARCH_I386,
@@ -1439,6 +1443,9 @@ asmregparm void syscall_trace_leave(struct pt_regs *regs)
if (unlikely(current->audit_context))
audit_syscall_exit(AUDITSC_RESULT(regs->ax), regs->ax);
+ if (unlikely(test_thread_flag(TIF_SYSCALL_FTRACE)))
+ ftrace_syscall_exit(regs);
+
if (test_thread_flag(TIF_SYSCALL_TRACE))
tracehook_report_syscall_exit(regs, 0);