aboutsummaryrefslogtreecommitdiffstats
path: root/net/decnet
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@us.ibm.com>2005-08-17 12:05:27 -0700
committerDavid S. Miller <davem@davemloft.net>2005-08-17 12:05:27 -0700
commit1f07247de51efd30c88ad8e3e06a8b5382fc7d35 (patch)
tree2d9066246fe198746762a609ac147a42fae0d4a6 /net/decnet
parent[IPV6]: Fix SKB leak in ip6_input_finish() (diff)
downloadlinux-dev-1f07247de51efd30c88ad8e3e06a8b5382fc7d35.tar.xz
linux-dev-1f07247de51efd30c88ad8e3e06a8b5382fc7d35.zip
[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>
Diffstat (limited to 'net/decnet')
-rw-r--r--net/decnet/dn_neigh.c2
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)
__neigh_parms_put(neigh->parms);
neigh->parms = neigh_parms_clone(parms);
- rcu_read_unlock();
if (dn_db->use_long)
neigh->ops = &dn_long_ops;
else
neigh->ops = &dn_short_ops;
+ rcu_read_unlock();
if (dn->flags & DN_NDFLAG_P3)
neigh->ops = &dn_phase3_ops;