Commit 06f0511d authored by Denis V. Lunev's avatar Denis V. Lunev Committed by David S. Miller

[ARP]: neigh_parms_put(destroy) are essentially local to core/neighbour.c.

Make them static.

[ Moved the inline before, instead of after, call sites. -DaveM ]
Signed-off-by: default avatarDenis V. Lunev <den@openvz.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 14db4133
...@@ -213,7 +213,6 @@ extern struct neighbour *neigh_event_ns(struct neigh_table *tbl, ...@@ -213,7 +213,6 @@ extern struct neighbour *neigh_event_ns(struct neigh_table *tbl,
extern struct neigh_parms *neigh_parms_alloc(struct net_device *dev, struct neigh_table *tbl); extern struct neigh_parms *neigh_parms_alloc(struct net_device *dev, struct neigh_table *tbl);
extern void neigh_parms_release(struct neigh_table *tbl, struct neigh_parms *parms); extern void neigh_parms_release(struct neigh_table *tbl, struct neigh_parms *parms);
extern void neigh_parms_destroy(struct neigh_parms *parms);
extern unsigned long neigh_rand_reach_time(unsigned long base); extern unsigned long neigh_rand_reach_time(unsigned long base);
extern void pneigh_enqueue(struct neigh_table *tbl, struct neigh_parms *p, extern void pneigh_enqueue(struct neigh_table *tbl, struct neigh_parms *p,
...@@ -254,12 +253,6 @@ static inline void __neigh_parms_put(struct neigh_parms *parms) ...@@ -254,12 +253,6 @@ static inline void __neigh_parms_put(struct neigh_parms *parms)
atomic_dec(&parms->refcnt); atomic_dec(&parms->refcnt);
} }
static inline void neigh_parms_put(struct neigh_parms *parms)
{
if (atomic_dec_and_test(&parms->refcnt))
neigh_parms_destroy(parms);
}
static inline struct neigh_parms *neigh_parms_clone(struct neigh_parms *parms) static inline struct neigh_parms *neigh_parms_clone(struct neigh_parms *parms)
{ {
atomic_inc(&parms->refcnt); atomic_inc(&parms->refcnt);
......
...@@ -577,6 +577,13 @@ static int pneigh_ifdown(struct neigh_table *tbl, struct net_device *dev) ...@@ -577,6 +577,13 @@ static int pneigh_ifdown(struct neigh_table *tbl, struct net_device *dev)
return -ENOENT; return -ENOENT;
} }
static void neigh_parms_destroy(struct neigh_parms *parms);
static inline void neigh_parms_put(struct neigh_parms *parms)
{
if (atomic_dec_and_test(&parms->refcnt))
neigh_parms_destroy(parms);
}
/* /*
* neighbour must already be out of the table; * neighbour must already be out of the table;
...@@ -1350,7 +1357,7 @@ void neigh_parms_release(struct neigh_table *tbl, struct neigh_parms *parms) ...@@ -1350,7 +1357,7 @@ void neigh_parms_release(struct neigh_table *tbl, struct neigh_parms *parms)
NEIGH_PRINTK1("neigh_parms_release: not found\n"); NEIGH_PRINTK1("neigh_parms_release: not found\n");
} }
void neigh_parms_destroy(struct neigh_parms *parms) static void neigh_parms_destroy(struct neigh_parms *parms)
{ {
release_net(parms->net); release_net(parms->net);
kfree(parms); kfree(parms);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment