From bf9f64743de4b9551017d690744b0b462697c0a0 Mon Sep 17 00:00:00 2001 From: "Denis V. Lunev" Date: Mon, 14 Jan 2008 22:59:59 -0800 Subject: [PATCH] --- yaml --- r: 78799 b: refs/heads/master c: 486b51d3706c5493b6c50992eaaafc44e628a7ed h: refs/heads/master i: 78797: b00dca0df75638188eb0fe6f085b1264608eafa4 78795: 595e6076dfc08c60d6165d109af8eb9553cb3a0d 78791: ac17cecd77a756d2d99dee03dd63ff4771da9520 78783: 4f15116cfbe121d7cd29b07d1d7e46850347a8fd v: v3 --- [refs] | 2 +- trunk/net/core/neighbour.c | 18 +++++++----------- 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/[refs] b/[refs] index 38d1ddafbbc0..0c60769d1f82 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 72132c1b6c7a7605cdfde86a9f58b6ca2b2195a6 +refs/heads/master: 486b51d3706c5493b6c50992eaaafc44e628a7ed diff --git a/trunk/net/core/neighbour.c b/trunk/net/core/neighbour.c index 19c0dd12fd58..62d47841c67d 100644 --- a/trunk/net/core/neighbour.c +++ b/trunk/net/core/neighbour.c @@ -1291,10 +1291,7 @@ struct neigh_parms *neigh_parms_alloc(struct net_device *dev, struct neigh_parms *p, *ref; struct net *net; - net = &init_net; - if (dev) - net = dev->nd_net; - + net = dev->nd_net; ref = lookup_neigh_params(tbl, net, 0); if (!ref) return NULL; @@ -1306,15 +1303,14 @@ struct neigh_parms *neigh_parms_alloc(struct net_device *dev, INIT_RCU_HEAD(&p->rcu_head); p->reachable_time = neigh_rand_reach_time(p->base_reachable_time); - if (dev) { - if (dev->neigh_setup && dev->neigh_setup(dev, p)) { - kfree(p); - return NULL; - } - dev_hold(dev); - p->dev = dev; + if (dev->neigh_setup && dev->neigh_setup(dev, p)) { + kfree(p); + return NULL; } + + dev_hold(dev); + p->dev = dev; p->net = hold_net(net); p->sysctl_table = NULL; write_lock_bh(&tbl->lock);