aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-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 b00b33a18390..eff5b8c68652 100644
--- a/arch/x86/kernel/ptrace.c
+++ b/arch/x86/kernel/ptrace.c
@@ -1511,6 +1511,13 @@ void syscall_trace_leave(struct pt_regs *regs)
1511{ 1511{
1512 bool step; 1512 bool step;
1513 1513
1514 /*
1515 * We may come here right after calling schedule_user()
1516 * or do_notify_resume(), in which case we can be in RCU
1517 * user mode.
1518 */
1519 rcu_user_exit();
1520
1514 audit_syscall_exit(regs); 1521 audit_syscall_exit(regs);
1515 1522
1516 if (unlikely(test_thread_flag(TIF_SYSCALL_TRACEPOINT))) 1523 if (unlikely(test_thread_flag(TIF_SYSCALL_TRACEPOINT)))