> build_udp_packet_csum() passes udph->len, which is in network byte
> order, as the number of bytes to checksum. On little-endian hosts this
> reads up to 64KB past the UDP header and computes a wrong checksum.
>
> Existing callers did not crash only because they use packet buffers
> of MAX_VNET_TUNNEL_PACKET_SZ bytes.
>
> Use ntohs(udph->len), as tap.c does in its own build_udp_packet().
>
> Fixes: a942fcd72e97 ("selftest: tun: Introduce tuntap_helpers.h header for
> TUN/TAP testing")
> Signed-off-by: Eric Dumazet <[email protected]>
Sashiko has reviewed this patch and found no issues.
--
Sashiko AI review ยท
https://sashiko.dev/#/patchset/[email protected]?part=2