Netdev List
 help / color / mirror / Atom feed
* [PATCH net v5 0/2] packet: use consistent hard_header_len in send paths
@ 2026-07-30  8:29 Qihang
  2026-07-30  8:29 ` [PATCH net v5 1/2] packet: use consistent hard_header_len in non-ring " Qihang
                   ` (4 more replies)
  0 siblings, 5 replies; 13+ messages in thread
From: Qihang @ 2026-07-30  8:29 UTC (permalink / raw)
  To: netdev
  Cc: willemdebruijn.kernel, daniel.zahka, davem, edumazet, kuba,
	pabeni, horms, stable, Qihang

AF_PACKET send paths read dev->hard_header_len at several stages of skb
allocation and construction. Concurrent netdevice reconfiguration can
make those reads inconsistent and cause skb headroom underflow.

Split the regular and TX_RING paths so each patch has one Fixes tag.
The separate SOCK_DGRAM consistency issue between hard_header_len and
header_ops->create remains outside this series.

Changes in v5:
- Drop the unnecessary per-frame copylen reset from patch 2.

Changes in v4:
- Use one hard_header_len snapshot throughout tpacket_snd(), including
  reserve and per-frame skb construction.
- Carry Willem's Reviewed-by on patch 1.

Link to v4: https://lore.kernel.org/netdev/20260729030122.21462-1-q.h.hack.winter@gmail.com/
Link to v3: https://lore.kernel.org/netdev/20260728031345.49562-1-q.h.hack.winter@gmail.com/

Qihang (2):
  packet: use consistent hard_header_len in non-ring send paths
  packet: use consistent hard_header_len in TX_RING send path

 include/linux/netdevice.h |  6 ++++--
 net/packet/af_packet.c    | 45 +++++++++++++++++++++++----------------
 2 files changed, 31 insertions(+), 20 deletions(-)

-- 
2.50.1 (Apple Git-155)

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2026-08-04 23:44 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-30  8:29 [PATCH net v5 0/2] packet: use consistent hard_header_len in send paths Qihang
2026-07-30  8:29 ` [PATCH net v5 1/2] packet: use consistent hard_header_len in non-ring " Qihang
2026-07-30  8:29 ` [PATCH net v5 2/2] packet: use consistent hard_header_len in TX_RING send path Qihang
2026-07-30  9:22   ` Willem de Bruijn
2026-08-04  2:22     ` Jakub Kicinski
2026-08-04  3:04       ` Willem de Bruijn
2026-08-04 23:43         ` Jakub Kicinski
2026-08-04  9:00 ` [PATCH net v6 0/3] net: fix hard_header_len races in packet send paths Qihang
2026-08-04  9:00   ` [PATCH net v6 1/3] net: remove CAP_SYS_RAWIO zero-padding in dev_validate_header Qihang
2026-08-04 12:16     ` Willem de Bruijn
2026-08-04 23:44       ` Jakub Kicinski
2026-08-04  9:32 ` [PATCH net v6 2/3] packet: use consistent hard_header_len in non-ring send paths Qihang
2026-08-04  9:33 ` [PATCH net v6 3/3] packet: use consistent hard_header_len in TX_RING send path Qihang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox