diff options
Diffstat (limited to 'net/ipv6/xfrm6_policy.c')
-rw-r--r-- | net/ipv6/xfrm6_policy.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/ipv6/xfrm6_policy.c b/net/ipv6/xfrm6_policy.c index da87428681c..834dc02f1d4 100644 --- a/net/ipv6/xfrm6_policy.c +++ b/net/ipv6/xfrm6_policy.c | |||
@@ -220,6 +220,7 @@ static void xfrm6_dst_destroy(struct dst_entry *dst) | |||
220 | 220 | ||
221 | if (likely(xdst->u.rt6.rt6i_idev)) | 221 | if (likely(xdst->u.rt6.rt6i_idev)) |
222 | in6_dev_put(xdst->u.rt6.rt6i_idev); | 222 | in6_dev_put(xdst->u.rt6.rt6i_idev); |
223 | dst_destroy_metrics_generic(dst); | ||
223 | if (likely(xdst->u.rt6.rt6i_peer)) | 224 | if (likely(xdst->u.rt6.rt6i_peer)) |
224 | inet_putpeer(xdst->u.rt6.rt6i_peer); | 225 | inet_putpeer(xdst->u.rt6.rt6i_peer); |
225 | xfrm_dst_destroy(xdst); | 226 | xfrm_dst_destroy(xdst); |
@@ -257,6 +258,7 @@ static struct dst_ops xfrm6_dst_ops = { | |||
257 | .protocol = cpu_to_be16(ETH_P_IPV6), | 258 | .protocol = cpu_to_be16(ETH_P_IPV6), |
258 | .gc = xfrm6_garbage_collect, | 259 | .gc = xfrm6_garbage_collect, |
259 | .update_pmtu = xfrm6_update_pmtu, | 260 | .update_pmtu = xfrm6_update_pmtu, |
261 | .cow_metrics = dst_cow_metrics_generic, | ||
260 | .destroy = xfrm6_dst_destroy, | 262 | .destroy = xfrm6_dst_destroy, |
261 | .ifdown = xfrm6_dst_ifdown, | 263 | .ifdown = xfrm6_dst_ifdown, |
262 | .local_out = __ip6_local_out, | 264 | .local_out = __ip6_local_out, |