From: Eric Dumazet <[email protected]>
Date: Thu, 28 May 2020 14:57:47 -0700
> Recent change in virtio_net_hdr_to_skb() broke some packetdrill tests.
>
> When --mss=XXX option is set, packetdrill always provide gso_type & gso_size
> for its inbound packets, regardless of packet size.
>
> if (packet->tcp && packet->mss) {
> if (packet->ipv4)
> gso.gso_type = VIRTIO_NET_HDR_GSO_TCPV4;
> else
> gso.gso_type = VIRTIO_NET_HDR_GSO_TCPV6;
> gso.gso_size = packet->mss;
> }
>
> Since many other programs could do the same, relax virtio_net_hdr_to_skb()
> to no longer return an error, but instead ignore gso settings.
>
> This keeps Willem intent to make sure no malicious packet could
> reach gso stack.
>
> Note that TCP stack has a special logic in tcp_set_skb_tso_segs()
> to clear gso_size for small packets.
>
> Fixes: 6dd912f82680 ("net: check untrusted gso_size at kernel entry")
> Signed-off-by: Eric Dumazet <[email protected]>
Applied and queued up for -stable, thanks Eric.