aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2012-06-09 16:32:41 -0700
committerDavid S. Miller <davem@davemloft.net>2012-06-09 16:32:41 -0700
commit56a6b248eb345c1948ee60bf426de1ff7dd81509 (patch)
tree84748cfc069b11d6800b50e6ee71fa742a364c7b
parentinet: Initialize per-netns inetpeer roots in net/ipv{4,6}/route.c (diff)
downloadlinux-dev-56a6b248eb345c1948ee60bf426de1ff7dd81509.tar.xz
linux-dev-56a6b248eb345c1948ee60bf426de1ff7dd81509.zip
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: David S. Miller <davem@davemloft.net>
-rw-r--r--include/net/inetpeer.h3
-rw-r--r--net/ipv4/inetpeer.c10
-rw-r--r--net/ipv4/route.c4
-rw-r--r--net/ipv6/route.c2
4 files changed, 5 insertions, 14 deletions
diff --git a/include/net/inetpeer.h b/include/net/inetpeer.h
index 5a96c8edc526..733edc641b76 100644
--- a/include/net/inetpeer.h
+++ b/include/net/inetpeer.h
@@ -113,8 +113,7 @@ static inline struct inet_peer *inet_getpeer_v6(struct net *net,
extern void inet_putpeer(struct inet_peer *p);
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 net *net, int family);
+extern void inetpeer_invalidate_tree(struct inet_peer_base *);
/*
* temporary check to make sure we dont access rid, ip_id_count, tcp_ts,
diff --git a/net/ipv4/inetpeer.c b/net/ipv4/inetpeer.c
index d0d72f89b279..9d89a381f0e1 100644
--- a/net/ipv4/inetpeer.c
+++ b/net/ipv4/inetpeer.c
@@ -564,7 +564,7 @@ static void inetpeer_inval_rcu(struct rcu_head *head)
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;
@@ -585,12 +585,4 @@ void __inetpeer_invalidate_tree(struct inet_peer_base *base)
out:
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);
diff --git a/net/ipv4/route.c b/net/ipv4/route.c
index 4cd35c3904d4..cf78343940de 100644
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
@@ -935,7 +935,7 @@ static void rt_cache_invalidate(struct net *net)
get_random_bytes(&shuffle, sizeof(shuffle));
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)
struct inet_peer_base *bp = net->ipv4.peers;
net->ipv4.peers = NULL;
- __inetpeer_invalidate_tree(bp);
+ inetpeer_invalidate_tree(bp);
kfree(bp);
}
diff --git a/net/ipv6/route.c b/net/ipv6/route.c
index 3e1e4e0da096..7f346d7492d2 100644
--- a/net/ipv6/route.c
+++ b/net/ipv6/route.c
@@ -3012,7 +3012,7 @@ static void __net_exit ipv6_inetpeer_exit(struct net *net)
struct inet_peer_base *bp = net->ipv6.peers;
net->ipv6.peers = NULL;
- __inetpeer_invalidate_tree(bp);
+ inetpeer_invalidate_tree(bp);
kfree(bp);
}