aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/net/xfrm.h2
-rw-r--r--net/ipv4/xfrm4_policy.c2
-rw-r--r--net/ipv6/xfrm6_policy.c2
-rw-r--r--net/xfrm/xfrm_policy.c4
4 files changed, 5 insertions, 5 deletions
diff --git a/include/net/xfrm.h b/include/net/xfrm.h
index 36c8cffdf4e2..bd2515005ae2 100644
--- a/include/net/xfrm.h
+++ b/include/net/xfrm.h
@@ -265,7 +265,7 @@ struct xfrm_dst;
265struct xfrm_policy_afinfo { 265struct xfrm_policy_afinfo {
266 unsigned short family; 266 unsigned short family;
267 struct dst_ops *dst_ops; 267 struct dst_ops *dst_ops;
268 void (*garbage_collect)(void); 268 void (*garbage_collect)(struct net *net);
269 struct dst_entry *(*dst_lookup)(int tos, xfrm_address_t *saddr, 269 struct dst_entry *(*dst_lookup)(int tos, xfrm_address_t *saddr,
270 xfrm_address_t *daddr); 270 xfrm_address_t *daddr);
271 int (*get_saddr)(xfrm_address_t *saddr, xfrm_address_t *daddr); 271 int (*get_saddr)(xfrm_address_t *saddr, xfrm_address_t *daddr);
diff --git a/net/ipv4/xfrm4_policy.c b/net/ipv4/xfrm4_policy.c
index 84dbb5a03cc2..a881ca38dddb 100644
--- a/net/ipv4/xfrm4_policy.c
+++ b/net/ipv4/xfrm4_policy.c
@@ -187,7 +187,7 @@ _decode_session4(struct sk_buff *skb, struct flowi *fl, int reverse)
187 187
188static inline int xfrm4_garbage_collect(struct dst_ops *ops) 188static inline int xfrm4_garbage_collect(struct dst_ops *ops)
189{ 189{
190 xfrm4_policy_afinfo.garbage_collect(); 190 xfrm4_policy_afinfo.garbage_collect(&init_net);
191 return (atomic_read(&xfrm4_dst_ops.entries) > xfrm4_dst_ops.gc_thresh*2); 191 return (atomic_read(&xfrm4_dst_ops.entries) > xfrm4_dst_ops.gc_thresh*2);
192} 192}
193 193
diff --git a/net/ipv6/xfrm6_policy.c b/net/ipv6/xfrm6_policy.c
index 3b67ce7786ec..2df8a78fc3df 100644
--- a/net/ipv6/xfrm6_policy.c
+++ b/net/ipv6/xfrm6_policy.c
@@ -220,7 +220,7 @@ _decode_session6(struct sk_buff *skb, struct flowi *fl, int reverse)
220 220
221static inline int xfrm6_garbage_collect(struct dst_ops *ops) 221static inline int xfrm6_garbage_collect(struct dst_ops *ops)
222{ 222{
223 xfrm6_policy_afinfo.garbage_collect(); 223 xfrm6_policy_afinfo.garbage_collect(&init_net);
224 return (atomic_read(&xfrm6_dst_ops.entries) > xfrm6_dst_ops.gc_thresh*2); 224 return (atomic_read(&xfrm6_dst_ops.entries) > xfrm6_dst_ops.gc_thresh*2);
225} 225}
226 226
diff --git a/net/xfrm/xfrm_policy.c b/net/xfrm/xfrm_policy.c
index 49e089826f45..7ebbdd63fca0 100644
--- a/net/xfrm/xfrm_policy.c
+++ b/net/xfrm/xfrm_policy.c
@@ -2173,9 +2173,9 @@ static int unused_bundle(struct dst_entry *dst)
2173 return !atomic_read(&dst->__refcnt); 2173 return !atomic_read(&dst->__refcnt);
2174} 2174}
2175 2175
2176static void __xfrm_garbage_collect(void) 2176static void __xfrm_garbage_collect(struct net *net)
2177{ 2177{
2178 xfrm_prune_bundles(&init_net, unused_bundle); 2178 xfrm_prune_bundles(net, unused_bundle);
2179} 2179}
2180 2180
2181static int xfrm_flush_bundles(struct net *net) 2181static int xfrm_flush_bundles(struct net *net)