diff options
Diffstat (limited to 'net/ipv4/xfrm4_policy.c')
| -rw-r--r-- | net/ipv4/xfrm4_policy.c | 4 | 
1 files changed, 2 insertions, 2 deletions
diff --git a/net/ipv4/xfrm4_policy.c b/net/ipv4/xfrm4_policy.c index a580349f0b8..4464f3bff6a 100644 --- a/net/ipv4/xfrm4_policy.c +++ b/net/ipv4/xfrm4_policy.c @@ -174,7 +174,7 @@ static inline int xfrm4_garbage_collect(struct dst_ops *ops)  	struct net *net = container_of(ops, struct net, xfrm.xfrm4_dst_ops);  	xfrm4_policy_afinfo.garbage_collect(net); -	return (atomic_read(&ops->entries) > ops->gc_thresh * 2); +	return (dst_entries_get_slow(ops) > ops->gc_thresh * 2);  }  static void xfrm4_update_pmtu(struct dst_entry *dst, u32 mtu) @@ -232,7 +232,6 @@ static struct dst_ops xfrm4_dst_ops = {  	.ifdown =		xfrm4_dst_ifdown,  	.local_out =		__ip_local_out,  	.gc_thresh =		1024, -	.entries =		ATOMIC_INIT(0),  };  static struct xfrm_policy_afinfo xfrm4_policy_afinfo = { @@ -288,6 +287,7 @@ void __init xfrm4_init(int rt_max_size)  	 * and start cleaning when were 1/2 full  	 */  	xfrm4_dst_ops.gc_thresh = rt_max_size/2; +	dst_entries_init(&xfrm4_dst_ops);  	xfrm4_state_init();  	xfrm4_policy_init();  |