Re: [PATCH v5 net 2/2] net: udp: fix IP header access and skb lookup on Fast/frag0 UDP GRO

From: Willem de Bruijn
Date: Wed Nov 11 2020 - 15:55:29 EST


On Wed, Nov 11, 2020 at 3:45 PM Alexander Lobakin <alobakin@xxxxx> wrote:
>
> udp{4,6}_lib_lookup_skb() use ip{,v6}_hdr() to get IP header of the
> packet. While it's probably OK for non-frag0 paths, this helpers
> will also point to junk on Fast/frag0 GRO when all headers are
> located in frags. As a result, sk/skb lookup may fail or give wrong
> results. To support both GRO modes, skb_gro_network_header() might
> be used. To not modify original functions, add private versions of
> udp{4,6}_lib_lookup_skb() only to perform correct sk lookups on GRO.
>
> Present since the introduction of "application-level" UDP GRO
> in 4.7-rc1.
>
> Misc: replace totally unneeded ternaries with plain ifs.
>
> Fixes: a6024562ffd7 ("udp: Add GRO functions to UDP socket")
> Suggested-by: Willem de Bruijn <willemb@xxxxxxxxxx>
> Cc: Eric Dumazet <edumazet@xxxxxxxxxx>
> Cc: Jakub Kicinski <kuba@xxxxxxxxxx>
> Signed-off-by: Alexander Lobakin <alobakin@xxxxx>

Acked-by: Willem de Bruijn <willemb@xxxxxxxxxx>