Re: [PATCH v3 1/6] udp: allow header check for dodgy GSO_UDP_L4 packets.

From: David Ahern
Date: Wed Sep 07 2022 - 20:41:05 EST


On 9/7/22 6:50 AM, Andrew Melnychenko wrote:
> diff --git a/net/ipv4/udp_offload.c b/net/ipv4/udp_offload.c
> index 6d1a4bec2614..8e002419b4d5 100644
> --- a/net/ipv4/udp_offload.c
> +++ b/net/ipv4/udp_offload.c
> @@ -387,7 +387,7 @@ static struct sk_buff *udp4_ufo_fragment(struct sk_buff *skb,
> if (!pskb_may_pull(skb, sizeof(struct udphdr)))
> goto out;
>
> - if (skb_shinfo(skb)->gso_type & SKB_GSO_UDP_L4)
> + if (skb_shinfo(skb)->gso_type & SKB_GSO_UDP_L4 && !skb_gso_ok(skb, features | NETIF_F_GSO_ROBUST))

that line needs to be wrapped.

> return __udp_gso_segment(skb, features, false);
>
> mss = skb_shinfo(skb)->gso_size;