Re: [PATCH net 1/1] ip6_tunnel: use skb_cow_head() in ip6_tnl_xmit()
From: Paolo Abeni <pabeni@redhat.com>
Date: 2026-08-06 16:28:06
On 8/6/26 11:06 AM, zhilin zou wrote:
On Thu, Aug 6, 2026 at 4:52 PM Ido Schimmel [off-list ref] wrote:quoted
On Wed, Aug 05, 2026 at 05:29:02PM -0700, Jakub Kicinski wrote:quoted
On Wed, 5 Aug 2026 12:07:21 +0300 Ido Schimmel wrote:quoted
__gre6_xmit() and ip6erspan_tunnel_xmit() already call skb_cow_head() before calling ip6_tnl_xmit().Probably just me but can't they all be buggy? PKTGEN likes to send shared skbs around in funny ways. Can we get a good explanation in the commit msg or maybe let's keep the check?ip6_tnl_xmit() is accessible via two Ethernet devices (pktgen doesn't support other types) and they both clear IFF_TX_SKB_SHARING, so if pktgen sends them shared skbs, I would say that it's a pktgen bug and not a reason to block this patch. Note that pktgen is not available to unprivileged users, so it's a less severe bug. The patch also makes ip6_tnl_xmit() consistent with its IPv4 counterpart (ip_tunnel_xmit()) which is already using skb_cow_head(). Zhiling, please add a note in the commit message that ip6gretap and ip6erspan do not expect to be handed shared skbs given that they clear IFF_TX_SKB_SHARING.Thanks, Ido. I'll add a note to the commit message explaining that ip6gretap and ip6erspan clear IFF_TX_SKB_SHARING and therefore do not expect shared skbs, and send a v2 with your Reviewed-by tag retained.
I'm not sure if it's too late, but since a v2 is required, I think it would be better to keep the skb_shared check: that will avoid a later patch for the pktgen/shared issue that inevitably will land, possibly via the security channel. Thanks, Paolo