Thread (12 messages) 12 messages, 4 authors, 2026-02-05

Re: [PATCH net-next v8 0/6] move CAN skb headroom content to skb extensions

From: Paolo Abeni <pabeni@redhat.com>
Date: 2026-02-03 14:40:13
Also in: linux-can, lkml

On 2/1/26 3:33 PM, Oliver Hartkopp via B4 Relay wrote:
CAN bus related skbuffs (ETH_P_CAN/ETH_P_CANFD/ETH_P_CANXL) simply contain
CAN frame structs for CAN CC/FD/XL of skb->len length at skb->data. Those
CAN skbs do not have network/mac/transport headers nor other such
references for encapsulated protocols like ethernet/IP protocols.

To store data for CAN specific use-cases all CAN bus related skbuffs are
created with a 16 byte private skb headroom (struct can_skb_priv). Using
the skb headroom and accessing skb->head for this private data led to
several problems in the past likely due to "The struct can_skb_priv
business is highly unconventional for the networking stack." [1]

This patch set aims to remove the unconventional skb headroom usage for CAN
bus related skbuffs and use the common skb extensions instead.

[1] https://lore.kernel.org/linux-can/20260104074222.29e660ac@kernel.org/ (local)
Could you please share how skb_ext size change with this series?
(possibly breaking down the actual size to each separate extension).

Ideally/hopefully the  skbuff_ext_cache size is not going to change, and
that would ensure that this change will not cause any indirect regressions.

/P
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help