]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
net: skb: allow up to 8 skb extension ids
authorOliver Hartkopp <socketcan@hartkopp.net>
Thu, 5 Feb 2026 14:44:05 +0000 (15:44 +0100)
committerJakub Kicinski <kuba@kernel.org>
Sat, 7 Feb 2026 04:07:24 +0000 (20:07 -0800)
The skb extension ids range from 0 .. 7 to fit their bits as flags into
a single byte. The ids are automatically enumnerated in enum skb_ext_id
in skbuff.h, where SKB_EXT_NUM is defined as the last value.

When having 8 skb extension ids (0 .. 7), SKB_EXT_NUM becomes 8 which is
a valid value for SKB_EXT_NUM.

Fixes: 96ea3a1e2d31 ("can: add CAN skb extension infrastructure")
Link: https://lore.kernel.org/netdev/aXoMqaA7b2CqJZNA@strlen.de/
Reviewed-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
Link: https://patch.msgid.link/20260205-skb_ext-v1-1-9ba992ccee8b@hartkopp.net
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/core/skbuff.c

index 45809986dfe17f79297c6bce6a9e8cd107eee603..699c401a5eae9c497a42b6bdd8593af7890529f4 100644 (file)
@@ -5158,7 +5158,7 @@ static __always_inline unsigned int skb_ext_total_length(void)
 
 static void skb_extensions_init(void)
 {
-       BUILD_BUG_ON(SKB_EXT_NUM >= 8);
+       BUILD_BUG_ON(SKB_EXT_NUM > 8);
 #if !IS_ENABLED(CONFIG_KCOV_INSTRUMENT_ALL)
        BUILD_BUG_ON(skb_ext_total_length() > 255);
 #endif