Browse Source

[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>
Paul E. McKenney 20 years ago
parent
commit
1f07247de5
1 changed files with 1 additions and 1 deletions
  1. 1 1
      net/decnet/dn_neigh.c

+ 1 - 1
net/decnet/dn_neigh.c

@@ -148,12 +148,12 @@ static int dn_neigh_construct(struct neighbour *neigh)
 
 
 	__neigh_parms_put(neigh->parms);
 	__neigh_parms_put(neigh->parms);
 	neigh->parms = neigh_parms_clone(parms);
 	neigh->parms = neigh_parms_clone(parms);
-	rcu_read_unlock();
 
 
 	if (dn_db->use_long)
 	if (dn_db->use_long)
 		neigh->ops = &dn_long_ops;
 		neigh->ops = &dn_long_ops;
 	else
 	else
 		neigh->ops = &dn_short_ops;
 		neigh->ops = &dn_short_ops;
+	rcu_read_unlock();
 
 
 	if (dn->flags & DN_NDFLAG_P3)
 	if (dn->flags & DN_NDFLAG_P3)
 		neigh->ops = &dn_phase3_ops;
 		neigh->ops = &dn_phase3_ops;