[GIT PULL] RCU fix

From: Ingo Molnar
Date: Sat Dec 01 2012 - 06:26:26 EST


Linus,

Please pull the latest core-urgent-for-linus git tree from:

git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git core-urgent-for-linus

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

Fix leaking RCU extended quiescent state, which might trigger
warnings and mess up the extended quiescent state tracking logic
into thinking that we are in "RCU user mode" while we aren't.

Thanks,

Ingo

------------------>
Frederic Weisbecker (1):
rcu: Fix unrecovered RCU user mode in syscall_trace_leave()


arch/x86/kernel/ptrace.c | 7 +++++++
1 file changed, 7 insertions(+)

diff --git a/arch/x86/kernel/ptrace.c b/arch/x86/kernel/ptrace.c
index b00b33a..eff5b8c 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)
{
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);

if (unlikely(test_thread_flag(TIF_SYSCALL_TRACEPOINT)))
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/