[PATCH v2 net 0/2] Fix wrong transport_header when sending VLAN-tagged frames

wei.fang@oss.nxp.com posted 2 patches 1 month, 3 weeks ago
drivers/net/tap.c      | 3 ++-
net/packet/af_packet.c | 4 ++--
2 files changed, 4 insertions(+), 3 deletions(-)
[PATCH v2 net 0/2] Fix wrong transport_header when sending VLAN-tagged frames
Posted by wei.fang@oss.nxp.com 1 month, 3 weeks ago
From: Wei Fang <wei.fang@nxp.com>

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/20260805105314.3882595-1-wei.fang@oss.nxp.com/
---

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