Yan Zhai wrote: > Commit 4094871db1d6 ("udp: only do GSO if # of segs > 1") avoided GSO > for small packets. But the kernel currently dismisses GSO requests only > after checking MTU/PMTU on gso_size. This means any packets, regardless > of their payload sizes, could be dropped when PMTU becomes smaller than > requested gso_size. We encountered this issue in production and it > caused a reliability problem that new QUIC connection cannot be > established before PMTU cache expired, while non GSO sockets still > worked fine at the same time. > > Ideally, do not check any GSO related constraints when payload size is > smaller than requested gso_size, and return EMSGSIZE instead of EINVAL > on MTU/PMTU check failure to be more specific on the error cause. > > Fixes: 4094871db1d6 ("udp: only do GSO if # of segs > 1") > Signed-off-by: Yan Zhai <yan@xxxxxxxxxxxxxx> > Suggested-by: Willem de Bruijn <willemdebruijn.kernel@xxxxxxxxx> Reviewed-by: Willem de Bruijn <willemb@xxxxxxxxxx>