]> err.no Git - linux-2.6/commit
[FIB]: Fix rcu_dereference() abuses in fib_trie.c
authorEric Dumazet <dada1@cosmosbay.com>
Fri, 18 Jan 2008 11:31:36 +0000 (03:31 -0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 28 Jan 2008 23:02:45 +0000 (15:02 -0800)
commitb59cfbf77dc8368c2c90b012c79553613f4d70c3
treef5e2e9ffa576c80137126e7ebe70114b88d98003
parent95b7d924a589dbefc7ae2ea6c7144b86b75d6a47
[FIB]: Fix rcu_dereference() abuses in fib_trie.c

node_parent() and tnode_get_child() currently use rcu_dereference().

These functions are called from both
- readers only paths (where rcu_dereference() is needed), and
- writer path (where rcu_dereference() is not needed)

To make explicit where rcu_dereference() is really needed, I
introduced new node_parent_rcu() and tnode_get_child_rcu() functions
which use rcu_dereference(), while node_parent() and tnode_get_child()
dont use it.

Then I changed calling sites where rcu_dereference() was really needed
to call the _rcu() variants.

This should have no impact but for alpha architecture, and may help
future sparse checks.

Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/fib_trie.c