[PATCH 10/20] headers: add kfree_skb_reason() backport for kernels < 5.17

Yi Cong <[email protected]> Wed, 24 Jun 2026 15:38:34 +0800
Newsgroups org.kernel.vger.backports
Message-ID <[email protected]>
From: Yi Cong <[email protected]>

kfree_skb_reason() was introduced in v5.17 along with enum
skb_drop_reason. Provide an inline wrapper that discards the reason
and calls kfree_skb() on older kernels.

Signed-off-by: Yi Cong <[email protected]>
---
 backport/backport-include/linux/skbuff.h | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/backport/backport-include/linux/skbuff.h b/backport/backport-include/linux/skbuff.h
index 36b83fdf..8193448d 100644
--- a/backport/backport-include/linux/skbuff.h
+++ b/backport/backport-include/linux/skbuff.h
@@ -103,4 +103,21 @@ static inline bool skb_queue_empty_lockless(const struct sk_buff_head *list)
 }
 #endif /* < 5.4 */
 
+#if LINUX_VERSION_IS_LESS(5,17,0)
+/*
+ * kfree_skb_reason() was introduced in kernel 5.17 along with
+ * enum skb_drop_reason. For older kernels provide a simple wrapper
+ * that discards the reason and calls kfree_skb().
+ *
+ * The enum is provided in our backport dropreason-core.h header.
+ */
+#include <net/dropreason-core.h>
+
+static inline void kfree_skb_reason(struct sk_buff *skb,
+				    enum skb_drop_reason reason)
+{
+	kfree_skb(skb);
+}
+#endif
+
 #endif /* __BACKPORT_SKBUFF_H */
-- 
2.43.0