tunnels: fix out of bounds access when building IPv6 PMTU error
[platform/kernel/linux-starfive.git] / net / ipv4 / ip_tunnel_core.c
index 586b1b3..80ccd66 100644 (file)
@@ -332,7 +332,7 @@ static int iptunnel_pmtud_build_icmpv6(struct sk_buff *skb, int mtu)
        };
        skb_reset_network_header(skb);
 
-       csum = csum_partial(icmp6h, len, 0);
+       csum = skb_checksum(skb, skb_transport_offset(skb), len, 0);
        icmp6h->icmp6_cksum = csum_ipv6_magic(&nip6h->saddr, &nip6h->daddr, len,
                                              IPPROTO_ICMPV6, csum);