net/ip6_tunnel: fix dst leak
the commitcdf3464e6c
("ipv6: Fix dst_entry refcnt bugs in ip6_tunnel") introduced percpu storage for ip6_tunnel dst cache, but while clearing such cache it used raw_cpu_ptr to walk the per cpu entries, so cached dst on non current cpu are not actually reset. This patch replaces raw_cpu_ptr with per_cpu_ptr, properly cleaning such storage. Fixes:cdf3464e6c
("ipv6: Fix dst_entry refcnt bugs in ip6_tunnel") Signed-off-by: Paolo Abeni <pabeni@redhat.com> Acked-by: Martin KaFai Lau <kafai@fb.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
022be25c24
commit
206b49500d
|
@ -177,7 +177,7 @@ void ip6_tnl_dst_reset(struct ip6_tnl *t)
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
for_each_possible_cpu(i)
|
for_each_possible_cpu(i)
|
||||||
ip6_tnl_per_cpu_dst_set(raw_cpu_ptr(t->dst_cache), NULL);
|
ip6_tnl_per_cpu_dst_set(per_cpu_ptr(t->dst_cache, i), NULL);
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(ip6_tnl_dst_reset);
|
EXPORT_SYMBOL_GPL(ip6_tnl_dst_reset);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue