OSDN Git Service

net: Skip GSO length estimation if transport header is not set
authorMaxim Mikityanskiy <maximmi@mellanox.com>
Fri, 22 Feb 2019 12:55:22 +0000 (12:55 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sun, 24 Feb 2019 20:40:38 +0000 (12:40 -0800)
commita0dce8752193ee314c8dcff8671aa0a0cea4d377
tree5a375aedf891031897c73aa0492a346d15cf9152
parent0a6c33e894a50e5483ca1f53d053985feabebbf3
net: Skip GSO length estimation if transport header is not set

qdisc_pkt_len_init expects transport_header to be set for GSO packets.
Patch [1] skips transport_header validation for GSO packets that don't
have network_header set at the moment of calling virtio_net_hdr_to_skb,
and allows them to pass into the stack. After patch [2] no placeholder
value is assigned to transport_header if dissection fails, so this patch
adds a check to the place where the value of transport_header is used.

[1] https://patchwork.ozlabs.org/patch/1044429/
[2] https://patchwork.ozlabs.org/patch/1046122/

Signed-off-by: Maxim Mikityanskiy <maximmi@mellanox.com>
Acked-by: Willem de Bruijn <willemb@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/dev.c