From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: herbert@gondor.hengli.com.au
Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
davem@davemloft.net, arnd@arndb.de
Subject: [PATCH] net: convert to rcu_dereference_index_check()
Date: Fri, 6 Aug 2010 14:26:07 -0700 [thread overview]
Message-ID: <20100806212607.GA9410@linux.vnet.ibm.com> (raw)
Hello, Herbert!
At long last, the following is the final patch blocking acceptance
of Arnd's sparse annotations for RCU. It was itself blocked behind
the definition of rcu_dereference_index_check(), which made it to
mainline only just today.
Would you be willing to ack this patch so that I can push it to -tip,
along with Arnd's work and a bunch of other stuff?
Thanx, Paul
------------------------------------------------------------------------
commit 34ea15566530f8e4d0c1571cc8c3554fd91d5809
Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Date: Mon Jun 14 17:06:21 2010 -0700
net: convert to rcu_dereference_index_check()
The task_cls_classid() function applies rcu_dereference() to integers,
which does not work with the shiny new sparse-based checking in
rcu_dereference(). This commit therefore moves to the new RCU API
rcu_dereference_index_check().
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
cls_cgroup.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/include/net/cls_cgroup.h b/include/net/cls_cgroup.h
index 726cc35..dd1fdb8 100644
--- a/include/net/cls_cgroup.h
+++ b/include/net/cls_cgroup.h
@@ -45,7 +45,8 @@ static inline u32 task_cls_classid(struct task_struct *p)
return 0;
rcu_read_lock();
- id = rcu_dereference(net_cls_subsys_id);
+ id = rcu_dereference_index_check(net_cls_subsys_id,
+ rcu_read_lock_held());
if (id >= 0)
classid = container_of(task_subsys_state(p, id),
struct cgroup_cls_state, css)->classid;
WARNING: multiple messages have this Message-ID (diff)
From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: herbert@gondor.apana.org.au
Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
davem@davemloft.net, arnd@arndb.de
Subject: [PATCH] net: convert to rcu_dereference_index_check()
Date: Fri, 6 Aug 2010 14:26:07 -0700 [thread overview]
Message-ID: <20100806212607.GA9410@linux.vnet.ibm.com> (raw)
Hello, Herbert!
At long last, the following is the final patch blocking acceptance
of Arnd's sparse annotations for RCU. It was itself blocked behind
the definition of rcu_dereference_index_check(), which made it to
mainline only just today.
Would you be willing to ack this patch so that I can push it to -tip,
along with Arnd's work and a bunch of other stuff?
Thanx, Paul
------------------------------------------------------------------------
commit 34ea15566530f8e4d0c1571cc8c3554fd91d5809
Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Date: Mon Jun 14 17:06:21 2010 -0700
net: convert to rcu_dereference_index_check()
The task_cls_classid() function applies rcu_dereference() to integers,
which does not work with the shiny new sparse-based checking in
rcu_dereference(). This commit therefore moves to the new RCU API
rcu_dereference_index_check().
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
cls_cgroup.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/include/net/cls_cgroup.h b/include/net/cls_cgroup.h
index 726cc35..dd1fdb8 100644
--- a/include/net/cls_cgroup.h
+++ b/include/net/cls_cgroup.h
@@ -45,7 +45,8 @@ static inline u32 task_cls_classid(struct task_struct *p)
return 0;
rcu_read_lock();
- id = rcu_dereference(net_cls_subsys_id);
+ id = rcu_dereference_index_check(net_cls_subsys_id,
+ rcu_read_lock_held());
if (id >= 0)
classid = container_of(task_subsys_state(p, id),
struct cgroup_cls_state, css)->classid;
next reply other threads:[~2010-08-06 21:26 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-08-06 21:26 Paul E. McKenney [this message]
2010-08-06 21:26 ` [PATCH] net: convert to rcu_dereference_index_check() Paul E. McKenney
2010-08-06 21:49 ` David Miller
2010-08-06 21:49 ` David Miller
2010-08-06 21:54 ` Paul E. McKenney
2010-08-06 21:54 ` Paul E. McKenney
2010-08-06 22:15 ` Herbert Xu
2010-08-06 22:15 ` Herbert Xu
2010-08-06 22:52 ` Paul E. McKenney
2010-08-06 22:52 ` 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=20100806212607.GA9410@linux.vnet.ibm.com \
--to=paulmck@linux.vnet.ibm.com \
--cc=arnd@arndb.de \
--cc=davem@davemloft.net \
--cc=herbert@gondor.hengli.com.au \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.