[PATCH v2 net 0/2] Fix wrong transport_header when sending VLAN-tagged frames
| Newsgroups | dev.linux.lists.imx,org.kernel.vger.bpf,org.kernel.vger.linux-kernel,org.kernel.vger.netdev |
|---|---|
| Message-ID | <[email protected]> |
From: Wei Fang <[email protected]> When sending a VLAN-tagged frame via AF_PACKET or tap, calling skb_set_network_header() before skb_probe_transport_header() causes the flow dissector to misinterpret the inner protocol header as a VLAN header. As a result, transport_header is never set and remains at its uninitialized sentinel value (~0U). Move skb_probe_transport_header() to before skb_set_network_header() so the flow dissector sees network_header still pointing to the VLAN header and can correctly identify the transport layer. --- v2 changes: 1. Move skb_probe_transport_header() to before skb_set_network_header() 2. Change the commit messages and titles v1 link: https://lore.kernel.org/imx/[email protected]/ --- Wei Fang (2): net: packet: fix wrong transport_header when sending VLAN-tagged frame net: tap: fix wrong transport_header when sending VLAN-tagged frame drivers/net/tap.c | 3 ++- net/packet/af_packet.c | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) -- 2.34.1