Skip to content

Commit

Permalink
[ARP]: Remove overkill checks from neigh_param_alloc.
Browse files Browse the repository at this point in the history
Valid network device is always passed into neigh_param_alloc, so
remove extra checking for dev == NULL. Additionally, cleanup bogus
netns assignment.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Denis V. Lunev authored and David S. Miller committed Jan 28, 2008
1 parent 72132c1 commit 486b51d
Showing 1 changed file with 7 additions and 11 deletions.
18 changes: 7 additions & 11 deletions net/core/neighbour.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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);
Expand Down

0 comments on commit 486b51d

Please sign in to comment.