neigh: no need to call lookup_neigh_parms in neigh_parms_alloc
neigh_table.parms always exist and is initialized,kmemdup can use it to create new neigh_parms, actually lookup_neigh_parms here will return neigh_table.parms too. Signed-off-by: Gao feng <gaofeng@cn.fujitsu.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
75b2945988
commit
cf89d6b280
@ -1429,15 +1429,11 @@ static inline struct neigh_parms *lookup_neigh_parms(struct neigh_table *tbl,
|
|||||||
struct neigh_parms *neigh_parms_alloc(struct net_device *dev,
|
struct neigh_parms *neigh_parms_alloc(struct net_device *dev,
|
||||||
struct neigh_table *tbl)
|
struct neigh_table *tbl)
|
||||||
{
|
{
|
||||||
struct neigh_parms *p, *ref;
|
struct neigh_parms *p;
|
||||||
struct net *net = dev_net(dev);
|
struct net *net = dev_net(dev);
|
||||||
const struct net_device_ops *ops = dev->netdev_ops;
|
const struct net_device_ops *ops = dev->netdev_ops;
|
||||||
|
|
||||||
ref = lookup_neigh_parms(tbl, net, 0);
|
p = kmemdup(&tbl->parms, sizeof(*p), GFP_KERNEL);
|
||||||
if (!ref)
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
p = kmemdup(ref, sizeof(*p), GFP_KERNEL);
|
|
||||||
if (p) {
|
if (p) {
|
||||||
p->tbl = tbl;
|
p->tbl = tbl;
|
||||||
atomic_set(&p->refcnt, 1);
|
atomic_set(&p->refcnt, 1);
|
||||||
|
Loading…
Reference in New Issue
Block a user