Oliver Hartkopp says:
====================
move CAN skb headroom content to skb extensions
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/
- v1: https://patch.msgid.link/
20260125201601.5018-1-socketcan@hartkopp.net
- v2: https://lore.kernel.org/linux-can/
20260128-can-skb-ext-v2-0-
fe64aa152c8a@pengutronix.de/
- v4: https://lore.kernel.org/netdev/
20260128-can_skb_ext-v1-0-
330f60fd5d7e@hartkopp.net/
- v5: https://patch.msgid.link/
20260129-can_skb_ext-v5-0-
21252fdc8900@hartkopp.net
- v6: https://patch.msgid.link/
20260130-can_skb_ext-v6-0-
8fceafab7f26@hartkopp.net
- v7: https://patch.msgid.link/
20260131-can_skb_ext-v7-0-
dd0f8f84a83d@hartkopp.net
Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
====================
Link: https://patch.msgid.link/20260201-can_skb_ext-v8-0-3635d790fe8b@hartkopp.net
Signed-off-by: Paolo Abeni <pabeni@redhat.com>