From: "tip-bot for Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: linux-tip-commits@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, paulmck@linux.vnet.ibm.com,
hpa@zytor.com, mingo@redhat.com, tglx@linutronix.de,
mingo@elte.hu, menage@google.com
Subject: [tip:core/urgent] rcu: Suppress __mpol_dup() false positive from RCU lockdep
Date: Thu, 4 Mar 2010 16:32:51 GMT [thread overview]
Message-ID: <tip-99ee4ca746dda71326db7645463b4075ac1d665c@git.kernel.org> (raw)
In-Reply-To: <1267667418-32233-2-git-send-email-paulmck@linux.vnet.ibm.com>
Commit-ID: 99ee4ca746dda71326db7645463b4075ac1d665c
Gitweb: http://git.kernel.org/tip/99ee4ca746dda71326db7645463b4075ac1d665c
Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
AuthorDate: Wed, 3 Mar 2010 17:50:17 -0800
Committer: Ingo Molnar <mingo@elte.hu>
CommitDate: Thu, 4 Mar 2010 12:07:34 +0100
rcu: Suppress __mpol_dup() false positive from RCU lockdep
Common code is used during task creation and after the task has
started running. RCU protection is not needed during task
creation because no other CPU has access to the
under-construction task. Provide the RCU protection anyway to
suppress the false positive, as there does not appear to be a
good way for the common code to recognize that the task is only
accessible to the CPU creating it.
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Paul Menage <menage@google.com>
Cc: laijs@cn.fujitsu.com
Cc: dipankar@in.ibm.com
Cc: mathieu.desnoyers@polymtl.ca
Cc: josh@joshtriplett.org
Cc: dvhltc@us.ibm.com
Cc: niv@us.ibm.com
Cc: peterz@infradead.org
Cc: rostedt@goodmis.org
Cc: Valdis.Kletnieks@vt.edu
Cc: dhowells@redhat.com
LKML-Reference: <1267667418-32233-2-git-send-email-paulmck@linux.vnet.ibm.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
---
mm/mempolicy.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/mm/mempolicy.c b/mm/mempolicy.c
index 290fb5b..3cec080 100644
--- a/mm/mempolicy.c
+++ b/mm/mempolicy.c
@@ -1730,10 +1730,12 @@ struct mempolicy *__mpol_dup(struct mempolicy *old)
if (!new)
return ERR_PTR(-ENOMEM);
+ rcu_read_lock();
if (current_cpuset_is_being_rebound()) {
nodemask_t mems = cpuset_mems_allowed(current);
mpol_rebind_policy(old, &mems);
}
+ rcu_read_unlock();
*new = *old;
atomic_set(&new->refcnt, 1);
return new;
next prev parent reply other threads:[~2010-03-04 16:33 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-03-04 1:50 [PATCH tip/core/rcu 0/3] rcu: fix !PREEMPT, __mpol_dup(), and ftrace_perf_buf_prepare() RCU lockdep splats Paul E. McKenney
2010-03-04 1:50 ` [PATCH tip/core/rcu 1/3] rcu: Make rcu_read_lock_sched_held() handle !PREEMPT Paul E. McKenney
2010-03-04 16:32 ` [tip:core/urgent] " tip-bot for Paul E. McKenney
2010-03-04 1:50 ` [PATCH tip/core/rcu 2/3] rcu: suppress __mpol_dup() false positive from RCU lockdep Paul E. McKenney
2010-03-04 16:32 ` tip-bot for Paul E. McKenney [this message]
2010-03-04 1:50 ` [PATCH tip/core/rcu 3/3] rcu, ftrace: fix RCU lockdep splat in ftrace_perf_buf_prepare() Paul E. McKenney
2010-03-04 3:55 ` Frederic Weisbecker
2010-03-04 16:33 ` [tip:core/urgent] rcu, ftrace: Fix " tip-bot for Paul E. McKenney
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=tip-99ee4ca746dda71326db7645463b4075ac1d665c@git.kernel.org \
--to=paulmck@linux.vnet.ibm.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tip-commits@vger.kernel.org \
--cc=menage@google.com \
--cc=mingo@elte.hu \
--cc=mingo@redhat.com \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox