diff --git a/net/ipv6/icmp.c b/net/ipv6/icmp.c index 169467b5c98a..012cadd47f43 100644 --- a/net/ipv6/icmp.c +++ b/net/ipv6/icmp.c @@ -639,6 +639,9 @@ int ip6_err_gen_icmpv6_unreach(struct sk_buff *skb, int nhs, int type, if (!skb2) return 1; + /* Remove debris left by IPv4 stack. */ + memset(IP6CB(skb2), 0, sizeof(*IP6CB(skb2))); + skb_dst_drop(skb2); skb_pull(skb2, nhs); skb_reset_network_header(skb2);