On Thu, May 28, 2020 at 5:57 PM Eric Dumazet <[email protected]> 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 <[email protected]> > Cc: Willem de Bruijn <[email protected]>
Acked-by: Willem de Bruijn <[email protected]> Thanks a lot for fixing this immediately, Eric.
