Re: [PATCH 5.10 380/530] udp: never accept GSO_FRAGLIST packets

From: Pavel Machek
Date: Mon May 17 2021 - 02:57:20 EST


Hi!

> > > From: Paolo Abeni <pabeni@xxxxxxxxxx>
> > >
> > > [ Upstream commit 78352f73dc5047f3f744764cc45912498c52f3c9 ]
> > >
> > > Currently the UDP protocol delivers GSO_FRAGLIST packets to
> > > the sockets without the expected segmentation.
> > >
> > > This change addresses the issue introducing and maintaining
> > > a couple of new fields to explicitly accept SKB_GSO_UDP_L4
> > > or GSO_FRAGLIST packets. Additionally updates udp_unexpected_gso()
> > > accordingly.
> > >
> > > UDP sockets enabling UDP_GRO stil keep accept_udp_fraglist
> > > zeroed.
> >
> > What is going on here? accept_udp_fraglist variable is read-only.
>
> Thank you for checking this!
>
> The 'accept_udp_fraglist' field is implicitly initilized to zero at UDP
> socket allocation time (done by sk_alloc).
>
> So this patch effectively force segmentation of SKB_GSO_FRAGLIST
> packets via the udp_unexpected_gso() helper.
>
> We introduce the above field instead of unconditionally
> segmenting SKB_GSO_FRAGLIST, because the next patch will use it (to
> avoid unneeded segmentation for performance's sake for UDP tunnel), as
> you noted.

Ok, but there's no follow up patch queued for 5.10...? Do we still
need it there?

Best regards,
Pavel
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany

Attachment: signature.asc
Description: Digital signature