浏览代码

Merge branch 'rcu/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into core/urgent

Pull syscall tracing fix from Paul E. McKenney.

Signed-off-by: Ingo Molnar <mingo@kernel.org>
Ingo Molnar 12 年之前
父节点
当前提交
745040347d
共有 1 个文件被更改,包括 7 次插入0 次删除
  1. 7 0
      arch/x86/kernel/ptrace.c

+ 7 - 0
arch/x86/kernel/ptrace.c

@@ -1511,6 +1511,13 @@ void syscall_trace_leave(struct pt_regs *regs)
 {
 {
 	bool step;
 	bool step;
 
 
+	/*
+	 * We may come here right after calling schedule_user()
+	 * or do_notify_resume(), in which case we can be in RCU
+	 * user mode.
+	 */
+	rcu_user_exit();
+
 	audit_syscall_exit(regs);
 	audit_syscall_exit(regs);
 
 
 	if (unlikely(test_thread_flag(TIF_SYSCALL_TRACEPOINT)))
 	if (unlikely(test_thread_flag(TIF_SYSCALL_TRACEPOINT)))