Commit 56a6b248 authored by David S. Miller's avatar David S. Miller

inet: Consolidate inetpeer_invalidate_tree() interfaces.

We only need one interface for this operation, since we always know
which inetpeer root we want to flush.
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent c3426b47
...@@ -113,8 +113,7 @@ static inline struct inet_peer *inet_getpeer_v6(struct net *net, ...@@ -113,8 +113,7 @@ static inline struct inet_peer *inet_getpeer_v6(struct net *net,
extern void inet_putpeer(struct inet_peer *p); extern void inet_putpeer(struct inet_peer *p);
extern bool inet_peer_xrlim_allow(struct inet_peer *peer, int timeout); extern bool inet_peer_xrlim_allow(struct inet_peer *peer, int timeout);
extern void __inetpeer_invalidate_tree(struct inet_peer_base *); extern void inetpeer_invalidate_tree(struct inet_peer_base *);
extern void inetpeer_invalidate_tree(struct net *net, int family);
/* /*
* temporary check to make sure we dont access rid, ip_id_count, tcp_ts, * temporary check to make sure we dont access rid, ip_id_count, tcp_ts,
......
...@@ -564,7 +564,7 @@ static void inetpeer_inval_rcu(struct rcu_head *head) ...@@ -564,7 +564,7 @@ static void inetpeer_inval_rcu(struct rcu_head *head)
schedule_delayed_work(&gc_work, gc_delay); schedule_delayed_work(&gc_work, gc_delay);
} }
void __inetpeer_invalidate_tree(struct inet_peer_base *base) void inetpeer_invalidate_tree(struct inet_peer_base *base)
{ {
struct inet_peer *old, *new, *prev; struct inet_peer *old, *new, *prev;
...@@ -585,12 +585,4 @@ void __inetpeer_invalidate_tree(struct inet_peer_base *base) ...@@ -585,12 +585,4 @@ void __inetpeer_invalidate_tree(struct inet_peer_base *base)
out: out:
write_sequnlock_bh(&base->lock); write_sequnlock_bh(&base->lock);
} }
EXPORT_SYMBOL(__inetpeer_invalidate_tree);
void inetpeer_invalidate_tree(struct net *net, int family)
{
struct inet_peer_base *base = family_to_base(net, family);
__inetpeer_invalidate_tree(base);
}
EXPORT_SYMBOL(inetpeer_invalidate_tree); EXPORT_SYMBOL(inetpeer_invalidate_tree);
...@@ -935,7 +935,7 @@ static void rt_cache_invalidate(struct net *net) ...@@ -935,7 +935,7 @@ static void rt_cache_invalidate(struct net *net)
get_random_bytes(&shuffle, sizeof(shuffle)); get_random_bytes(&shuffle, sizeof(shuffle));
atomic_add(shuffle + 1U, &net->ipv4.rt_genid); atomic_add(shuffle + 1U, &net->ipv4.rt_genid);
inetpeer_invalidate_tree(net, AF_INET); inetpeer_invalidate_tree(net->ipv4.peers);
} }
/* /*
...@@ -3401,7 +3401,7 @@ static void __net_exit ipv4_inetpeer_exit(struct net *net) ...@@ -3401,7 +3401,7 @@ static void __net_exit ipv4_inetpeer_exit(struct net *net)
struct inet_peer_base *bp = net->ipv4.peers; struct inet_peer_base *bp = net->ipv4.peers;
net->ipv4.peers = NULL; net->ipv4.peers = NULL;
__inetpeer_invalidate_tree(bp); inetpeer_invalidate_tree(bp);
kfree(bp); kfree(bp);
} }
......
...@@ -3012,7 +3012,7 @@ static void __net_exit ipv6_inetpeer_exit(struct net *net) ...@@ -3012,7 +3012,7 @@ static void __net_exit ipv6_inetpeer_exit(struct net *net)
struct inet_peer_base *bp = net->ipv6.peers; struct inet_peer_base *bp = net->ipv6.peers;
net->ipv6.peers = NULL; net->ipv6.peers = NULL;
__inetpeer_invalidate_tree(bp); inetpeer_invalidate_tree(bp);
kfree(bp); kfree(bp);
} }
......
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