On Thu, May 28, 2020 at 5:57 PM Eric Dumazet <eduma...@google.com> wrote:
>
> 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 <eduma...@google.com>
> Cc: Willem de Bruijn <will...@google.com>

Acked-by: Willem de Bruijn <will...@google.com>

Thanks a lot for fixing this immediately, Eric.

Reply via email to