diff options
Diffstat (limited to 'arch/sh/kernel/ptrace_32.c')
-rw-r--r-- | arch/sh/kernel/ptrace_32.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/sh/kernel/ptrace_32.c b/arch/sh/kernel/ptrace_32.c index 3392e835a374..9be35f348093 100644 --- a/arch/sh/kernel/ptrace_32.c +++ b/arch/sh/kernel/ptrace_32.c | |||
@@ -34,6 +34,9 @@ | |||
34 | #include <asm/syscalls.h> | 34 | #include <asm/syscalls.h> |
35 | #include <asm/fpu.h> | 35 | #include <asm/fpu.h> |
36 | 36 | ||
37 | #define CREATE_TRACE_POINTS | ||
38 | #include <trace/events/syscalls.h> | ||
39 | |||
37 | /* | 40 | /* |
38 | * This routine will get a word off of the process kernel stack. | 41 | * This routine will get a word off of the process kernel stack. |
39 | */ | 42 | */ |
@@ -459,6 +462,9 @@ asmlinkage long do_syscall_trace_enter(struct pt_regs *regs) | |||
459 | */ | 462 | */ |
460 | ret = -1L; | 463 | ret = -1L; |
461 | 464 | ||
465 | if (unlikely(test_thread_flag(TIF_SYSCALL_TRACEPOINT))) | ||
466 | trace_sys_enter(regs, regs->regs[0]); | ||
467 | |||
462 | if (unlikely(current->audit_context)) | 468 | if (unlikely(current->audit_context)) |
463 | audit_syscall_entry(audit_arch(), regs->regs[3], | 469 | audit_syscall_entry(audit_arch(), regs->regs[3], |
464 | regs->regs[4], regs->regs[5], | 470 | regs->regs[4], regs->regs[5], |
@@ -475,6 +481,9 @@ asmlinkage void do_syscall_trace_leave(struct pt_regs *regs) | |||
475 | audit_syscall_exit(AUDITSC_RESULT(regs->regs[0]), | 481 | audit_syscall_exit(AUDITSC_RESULT(regs->regs[0]), |
476 | regs->regs[0]); | 482 | regs->regs[0]); |
477 | 483 | ||
484 | if (unlikely(test_thread_flag(TIF_SYSCALL_TRACEPOINT))) | ||
485 | trace_sys_exit(regs, regs->regs[0]); | ||
486 | |||
478 | step = test_thread_flag(TIF_SINGLESTEP); | 487 | step = test_thread_flag(TIF_SINGLESTEP); |
479 | if (step || test_thread_flag(TIF_SYSCALL_TRACE)) | 488 | if (step || test_thread_flag(TIF_SYSCALL_TRACE)) |
480 | tracehook_report_syscall_exit(regs, step); | 489 | tracehook_report_syscall_exit(regs, step); |