neighbour: remove neigh_cleanup() method
[ Upstream commit f394722fb0d0f701119368959d7cd0ecbc46363a ] neigh_cleanup() has not been used for seven years, and was a wrong design. Messing with shared pointer in bond_neigh_init() without proper memory barriers would at least trigger syzbot complains eventually. It is time to remove this stuff. Fixes: b63b70d87741 ("IPoIB: Use a private hash table for path lookup in xmit path") Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
37a56610e9
commit
a073350c5f
@ -3622,18 +3622,10 @@ static int bond_neigh_init(struct neighbour *n)
|
||||
return 0;
|
||||
|
||||
parms.neigh_setup = NULL;
|
||||
parms.neigh_cleanup = NULL;
|
||||
ret = slave_ops->ndo_neigh_setup(slave->dev, &parms);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
/* Assign slave's neigh_cleanup to neighbour in case cleanup is called
|
||||
* after the last slave has been detached. Assumes that all slaves
|
||||
* utilize the same neigh_cleanup (true at this writing as only user
|
||||
* is ipoib).
|
||||
*/
|
||||
n->parms->neigh_cleanup = parms.neigh_cleanup;
|
||||
|
||||
if (!parms.neigh_setup)
|
||||
return 0;
|
||||
|
||||
|
@ -72,7 +72,6 @@ struct neigh_parms {
|
||||
struct net_device *dev;
|
||||
struct list_head list;
|
||||
int (*neigh_setup)(struct neighbour *);
|
||||
void (*neigh_cleanup)(struct neighbour *);
|
||||
struct neigh_table *tbl;
|
||||
|
||||
void *sysctl_table;
|
||||
|
@ -98,9 +98,6 @@ static int neigh_blackhole(struct neighbour *neigh, struct sk_buff *skb)
|
||||
|
||||
static void neigh_cleanup_and_release(struct neighbour *neigh)
|
||||
{
|
||||
if (neigh->parms->neigh_cleanup)
|
||||
neigh->parms->neigh_cleanup(neigh);
|
||||
|
||||
trace_neigh_cleanup_and_release(neigh, 0);
|
||||
__neigh_notify(neigh, RTM_DELNEIGH, 0, 0);
|
||||
call_netevent_notifiers(NETEVENT_NEIGH_UPDATE, neigh);
|
||||
|
Loading…
x
Reference in New Issue
Block a user