diff options
author | Alexey Dobriyan <adobriyan@gmail.com> | 2008-10-28 16:25:09 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-10-28 16:25:09 -0400 |
commit | 93adcc80f3288f1827baf6f821af818f6eeef7f9 (patch) | |
tree | d53faa5267421764ebe8f1d5e83e6eb5bb7ddea6 /net/core/net_namespace.c | |
parent | def8b4faff5ca349beafbbfeb2c51f3602a6ef3a (diff) |
net: don't use INIT_RCU_HEAD
call_rcu() will unconditionally rewrite RCU head anyway.
Applies to
struct neigh_parms
struct neigh_table
struct net
struct cipso_v4_doi
struct in_ifaddr
struct in_device
rt->u.dst
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core/net_namespace.c')
-rw-r--r-- | net/core/net_namespace.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/net/core/net_namespace.c b/net/core/net_namespace.c index f1d07b5c1e1..861b4cbf40d 100644 --- a/net/core/net_namespace.c +++ b/net/core/net_namespace.c | |||
@@ -47,7 +47,6 @@ static __net_init int setup_net(struct net *net) | |||
47 | goto out; | 47 | goto out; |
48 | 48 | ||
49 | ng->len = INITIAL_NET_GEN_PTRS; | 49 | ng->len = INITIAL_NET_GEN_PTRS; |
50 | INIT_RCU_HEAD(&ng->rcu); | ||
51 | rcu_assign_pointer(net->gen, ng); | 50 | rcu_assign_pointer(net->gen, ng); |
52 | 51 | ||
53 | error = 0; | 52 | error = 0; |
@@ -446,7 +445,6 @@ int net_assign_generic(struct net *net, int id, void *data) | |||
446 | */ | 445 | */ |
447 | 446 | ||
448 | ng->len = id; | 447 | ng->len = id; |
449 | INIT_RCU_HEAD(&ng->rcu); | ||
450 | memcpy(&ng->ptr, &old_ng->ptr, old_ng->len); | 448 | memcpy(&ng->ptr, &old_ng->ptr, old_ng->len); |
451 | 449 | ||
452 | rcu_assign_pointer(net->gen, ng); | 450 | rcu_assign_pointer(net->gen, ng); |