diff options
Diffstat (limited to 'arch/powerpc/kernel/ptrace.c')
| -rw-r--r-- | arch/powerpc/kernel/ptrace.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/ptrace.c b/arch/powerpc/kernel/ptrace.c index 3b14d320e69f..98c2fc198712 100644 --- a/arch/powerpc/kernel/ptrace.c +++ b/arch/powerpc/kernel/ptrace.c | |||
| @@ -32,6 +32,7 @@ | |||
| 32 | #include <trace/syscall.h> | 32 | #include <trace/syscall.h> |
| 33 | #include <linux/hw_breakpoint.h> | 33 | #include <linux/hw_breakpoint.h> |
| 34 | #include <linux/perf_event.h> | 34 | #include <linux/perf_event.h> |
| 35 | #include <linux/context_tracking.h> | ||
| 35 | 36 | ||
| 36 | #include <asm/uaccess.h> | 37 | #include <asm/uaccess.h> |
| 37 | #include <asm/page.h> | 38 | #include <asm/page.h> |
| @@ -1788,6 +1789,8 @@ long do_syscall_trace_enter(struct pt_regs *regs) | |||
| 1788 | { | 1789 | { |
| 1789 | long ret = 0; | 1790 | long ret = 0; |
| 1790 | 1791 | ||
| 1792 | user_exit(); | ||
| 1793 | |||
| 1791 | secure_computing_strict(regs->gpr[0]); | 1794 | secure_computing_strict(regs->gpr[0]); |
| 1792 | 1795 | ||
| 1793 | if (test_thread_flag(TIF_SYSCALL_TRACE) && | 1796 | if (test_thread_flag(TIF_SYSCALL_TRACE) && |
| @@ -1832,4 +1835,6 @@ void do_syscall_trace_leave(struct pt_regs *regs) | |||
| 1832 | step = test_thread_flag(TIF_SINGLESTEP); | 1835 | step = test_thread_flag(TIF_SINGLESTEP); |
| 1833 | if (step || test_thread_flag(TIF_SYSCALL_TRACE)) | 1836 | if (step || test_thread_flag(TIF_SYSCALL_TRACE)) |
| 1834 | tracehook_report_syscall_exit(regs, step); | 1837 | tracehook_report_syscall_exit(regs, step); |
| 1838 | |||
| 1839 | user_enter(); | ||
| 1835 | } | 1840 | } |
