All of lore.kernel.org
 help / color / mirror / Atom feed
From: Willem de Bruijn <willemdebruijn.kernel@gmail.com>
To: Eric Dumazet <edumazet@kernel.org>,
	 "David S . Miller" <davem@davemloft.net>,
	 Jakub Kicinski <kuba@kernel.org>,
	 Paolo Abeni <pabeni@redhat.com>
Cc: Willem de Bruijn <willemb@google.com>,
	 Simon Horman <horms@kernel.org>,
	 netdev@vger.kernel.org,  Eric Dumazet <edumazet@kernel.org>,
	 Andrew Lunn <andrew+netdev@lunn.ch>,
	 Aaron Conole <aconole@redhat.com>,
	 Eelco Chaudron <echaudro@redhat.com>,
	 Ilya Maximets <i.maximets@ovn.org>,
	 Jamal Hadi Salim <jhs@mojatatu.com>,
	 Jiri Pirko <jiri@resnulli.us>,
	 dev@openvswitch.org,
	 Willem de Bruijn <willemdebruijn.kernel@gmail.com>,
	 Ren Wei <weir@nebusec.ai>
Subject: Re: [PATCH net 1/5] net: add eth_type_trans_careful()
Date: Tue, 27 Oct 2026 11:02:27 -0400	[thread overview]
Message-ID: <willemdebruijn.kernel.1c62007f7ebd4@gmail.com> (raw)
In-Reply-To: <20261027082604.1485903-2-edumazet@kernel.org>

Eric Dumazet wrote:
> eth_type_trans() assumes ETH_HLEN bytes are present in skb->head.
> NIC drivers always provide this, and they should keep using the fast
> version.
> 
> Devices looping skbs from their transmit path back to their receive
> path get skbs built by the stack instead. Their link-layer header
> might have been popped by tc actions (act_vlan pop_eth, act_ife decode)
> or OVS actions (pop_eth + pop_mpls / pop_nsh), leaving fewer than
> ETH_HLEN bytes in the linear part. eth_type_trans() then hits
> the BUG() in __skb_pull().
> 
> Add eth_type_trans_careful(), which first pulls the Ethernet header,
> and returns a drop reason on failure, so that the few devices exposed
> to this can drop such packets.
> 
> Signed-off-by: Eric Dumazet <edumazet@kernel.org>

Reviewed-by: Willem de Bruijn <willemb@google.com>

  parent reply	other threads:[~2026-10-27 15:02 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-27  8:25 [PATCH net 0/5] net: fix eth_type_trans() crashes on skbs coming from the stack Eric Dumazet
2026-10-27  8:26 ` [PATCH net 1/5] net: add eth_type_trans_careful() Eric Dumazet
2026-10-27 13:51   ` Aaron Conole
2026-10-27 15:02   ` Willem de Bruijn [this message]
2026-10-27  8:26 ` [PATCH net 2/5] loopback: use eth_type_trans_careful() Eric Dumazet
2026-10-27  8:26 ` [PATCH net 3/5] net: use eth_type_trans_careful() in __dev_forward_skb2() Eric Dumazet
2026-10-27  8:26 ` [PATCH net 4/5] openvswitch: use eth_type_trans_careful() in internal_dev_recv() Eric Dumazet
2026-10-27 13:50   ` Aaron Conole
2026-10-27  8:26 ` [PATCH net 5/5] net/sched: act_ife: do not consume the inner header on egress Eric Dumazet
2026-10-27  9:17 ` [PATCH net 0/5] net: fix eth_type_trans() crashes on skbs coming from the stack Jamal Hadi Salim
2026-10-27  9:51   ` Eric Dumazet
2026-10-27 13:07     ` Jamal Hadi Salim
2026-10-27 14:00       ` Aaron Conole
2026-10-27 14:33       ` Eric Dumazet
2026-10-27 14:40 ` Willem de Bruijn
2026-10-27 15:49   ` Eric Dumazet
2026-10-27 19:48     ` Jamal Hadi Salim
2026-10-27 20:34       ` Eric Dumazet
2026-10-27 21:20         ` Jamal Hadi Salim
2026-10-27 21:25 ` Jakub Kicinski
2026-10-28  5:02   ` Eric Dumazet

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=willemdebruijn.kernel.1c62007f7ebd4@gmail.com \
    --to=willemdebruijn.kernel@gmail.com \
    --cc=aconole@redhat.com \
    --cc=andrew+netdev@lunn.ch \
    --cc=davem@davemloft.net \
    --cc=dev@openvswitch.org \
    --cc=echaudro@redhat.com \
    --cc=edumazet@kernel.org \
    --cc=horms@kernel.org \
    --cc=i.maximets@ovn.org \
    --cc=jhs@mojatatu.com \
    --cc=jiri@resnulli.us \
    --cc=kuba@kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=weir@nebusec.ai \
    --cc=willemb@google.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.