Skip to content

Commit 331b729

Browse files
jrfastabdavem330
authored andcommitted
net: sched: RCU cls_tcindex
Make cls_tcindex RCU safe. This patch addds a new RCU routine rcu_dereference_bh_rtnl() to check caller either holds the rcu read lock or RTNL. This is needed to handle the case where tcindex_lookup() is being called in both cases. Signed-off-by: John Fastabend <john.r.fastabend@intel.com> Acked-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent 1109c00 commit 331b729

File tree

2 files changed

+164
-94
lines changed

2 files changed

+164
-94
lines changed

include/linux/rtnetlink.h

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,16 @@ static inline int lockdep_rtnl_is_held(void)
4646
#define rcu_dereference_rtnl(p) \
4747
rcu_dereference_check(p, lockdep_rtnl_is_held())
4848

49+
/**
50+
* rcu_dereference_bh_rtnl - rcu_dereference_bh with debug checking
51+
* @p: The pointer to read, prior to dereference
52+
*
53+
* Do an rcu_dereference_bh(p), but check caller either holds rcu_read_lock_bh()
54+
* or RTNL. Note : Please prefer rtnl_dereference() or rcu_dereference_bh()
55+
*/
56+
#define rcu_dereference_bh_rtnl(p) \
57+
rcu_dereference_bh_check(p, lockdep_rtnl_is_held())
58+
4959
/**
5060
* rtnl_dereference - fetch RCU pointer when updates are prevented by RTNL
5161
* @p: The pointer to read, prior to dereferencing

0 commit comments

Comments
 (0)