diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-04-19 07:27:45 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-04-19 07:27:45 -0700 |
commit | 375db4810b27306ea400ab39d3d6f7a063ac9ff6 (patch) | |
tree | f2cb778036dbfcade394c9e5ad94a69137fd352c /net/ipv4/fib_trie.c | |
parent | 73c6c7fbb74d07a80fee41ce4ca3976547519e42 (diff) | |
parent | b91ecb0027c7171c83d7cf443a22c39b1fde6d83 (diff) | |
download | lwn-375db4810b27306ea400ab39d3d6f7a063ac9ff6.tar.gz lwn-375db4810b27306ea400ab39d3d6f7a063ac9ff6.zip |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
gigaset: include cleanup cleanup
packet : remove init_net restriction
WAN: flush tx_queue in hdlc_ppp to prevent panic on rmmod hw_driver.
ip: Fix ip_dev_loopback_xmit()
net: dev_pick_tx() fix
fib: suppress lockdep-RCU false positive in FIB trie.
tun: orphan an skb on tx
forcedeth: fix tx limit2 flag check
iwlwifi: work around bogus active chains detection
Diffstat (limited to 'net/ipv4/fib_trie.c')
-rw-r--r-- | net/ipv4/fib_trie.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/net/ipv4/fib_trie.c b/net/ipv4/fib_trie.c index 59a838795e3e..c98f115fb0fd 100644 --- a/net/ipv4/fib_trie.c +++ b/net/ipv4/fib_trie.c @@ -209,7 +209,9 @@ static inline struct node *tnode_get_child_rcu(struct tnode *tn, unsigned int i) { struct node *ret = tnode_get_child(tn, i); - return rcu_dereference(ret); + return rcu_dereference_check(ret, + rcu_read_lock_held() || + lockdep_rtnl_is_held()); } static inline int tnode_child_length(const struct tnode *tn) |