gso: fix dodgy bit handling for GSO_UDP_L4
authorYan Zhai <yan@cloudflare.com>
Thu, 13 Jul 2023 17:28:00 +0000 (10:28 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 14 Jul 2023 09:29:20 +0000 (10:29 +0100)
commit9840036786d90cea11a90d1f30b6dc003b34ee67
tree21e1f07a9d6b6d101a3c1e3d660110c75700874a
parenta822551c51f0dc063305ca16b9dd0dec7fe1f259
gso: fix dodgy bit handling for GSO_UDP_L4

Commit 1fd54773c267 ("udp: allow header check for dodgy GSO_UDP_L4
packets.") checks DODGY bit for UDP, but for packets that can be fed
directly to the device after gso_segs reset, it actually falls through
to fragmentation:

https://lore.kernel.org/all/CAJPywTKDdjtwkLVUW6LRA2FU912qcDmQOQGt2WaDo28KzYDg+A@mail.gmail.com/

This change restores the expected behavior of GSO_UDP_L4 packets.

Fixes: 1fd54773c267 ("udp: allow header check for dodgy GSO_UDP_L4 packets.")
Suggested-by: Willem de Bruijn <willemdebruijn.kernel@gmail.com>
Signed-off-by: Yan Zhai <yan@cloudflare.com>
Reviewed-by: Willem de Bruijn <willemb@google.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/udp_offload.c
net/ipv6/udp_offload.c