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.