diff options
author | Paul E. McKenney <paulmck@us.ibm.com> | 2005-08-17 15:05:27 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2005-08-17 15:05:27 -0400 |
commit | 1f07247de51efd30c88ad8e3e06a8b5382fc7d35 (patch) | |
tree | 2d9066246fe198746762a609ac147a42fae0d4a6 | |
parent | bfd272b1ca1164382eabaa9986aad822adb91eb2 (diff) |
[DECNET]: Fix RCU race condition in dn_neigh_construct().
Signed-off-by: Paul E. McKenney <paulmck@us.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | net/decnet/dn_neigh.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/decnet/dn_neigh.c b/net/decnet/dn_neigh.c index f32dba9e26fe..8d0cc3cf3e49 100644 --- a/net/decnet/dn_neigh.c +++ b/net/decnet/dn_neigh.c | |||
@@ -148,12 +148,12 @@ static int dn_neigh_construct(struct neighbour *neigh) | |||
148 | 148 | ||
149 | __neigh_parms_put(neigh->parms); | 149 | __neigh_parms_put(neigh->parms); |
150 | neigh->parms = neigh_parms_clone(parms); | 150 | neigh->parms = neigh_parms_clone(parms); |
151 | rcu_read_unlock(); | ||
152 | 151 | ||
153 | if (dn_db->use_long) | 152 | if (dn_db->use_long) |
154 | neigh->ops = &dn_long_ops; | 153 | neigh->ops = &dn_long_ops; |
155 | else | 154 | else |
156 | neigh->ops = &dn_short_ops; | 155 | neigh->ops = &dn_short_ops; |
156 | rcu_read_unlock(); | ||
157 | 157 | ||
158 | if (dn->flags & DN_NDFLAG_P3) | 158 | if (dn->flags & DN_NDFLAG_P3) |
159 | neigh->ops = &dn_phase3_ops; | 159 | neigh->ops = &dn_phase3_ops; |