Linux backports project
 help / color / mirror / Atom feed
From: Yi Cong <cong.yi@linux.dev>
To: hauke@hauke-m.de, backports@vger.kernel.org
Cc: Yi Cong <yicong@kylinos.cn>
Subject: [PATCH 08/20] headers: add dropreason-core.h backport for kernels < 5.17
Date: Wed, 24 Jun 2026 15:38:32 +0800	[thread overview]
Message-ID: <20260624073844.2097504-9-cong.yi@linux.dev> (raw)
In-Reply-To: <20260624073844.2097504-1-cong.yi@linux.dev>

From: Yi Cong <yicong@kylinos.cn>

The skb drop reason infrastructure was introduced in v5.17. Provide
minimal enum skb_drop_reason definitions (SKB_NOT_DROPPED_YET,
SKB_CONSUMED) and SKB_DROP_REASON_SUBSYS_SHIFT/MASK constants so that
mac80211 drop.h compiles on older kernels.

Signed-off-by: Yi Cong <yicong@kylinos.cn>
---
 .../backport-include/net/dropreason-core.h    | 34 +++++++++++++++++++
 1 file changed, 34 insertions(+)
 create mode 100644 backport/backport-include/net/dropreason-core.h

diff --git a/backport/backport-include/net/dropreason-core.h b/backport/backport-include/net/dropreason-core.h
new file mode 100644
index 00000000..2b02a8f1
--- /dev/null
+++ b/backport/backport-include/net/dropreason-core.h
@@ -0,0 +1,34 @@
+#ifndef __BACKPORT_NET_DROPREASON_CORE_H
+#define __BACKPORT_NET_DROPREASON_CORE_H
+#include <linux/version.h>
+
+/*
+ * On kernels >= 5.17, enum skb_drop_reason and the related helpers exist
+ * in the kernel's own skbuff.h / dropreason-core.h.  For older kernels we
+ * provide minimal definitions so that backported wireless drivers compile.
+ */
+#if LINUX_VERSION_IS_LESS(5,17,0)
+
+/**
+ * enum skb_drop_reason - reasons an sk_buff was dropped
+ *
+ * This is a minimal backport that only defines the few values used by
+ * the mac80211 subsystem.  The full upstream enum is much larger.
+ */
+enum skb_drop_reason {
+	SKB_NOT_DROPPED_YET = 0,
+	SKB_CONSUMED,
+	SKB_DROP_REASON_NOT_SPECIFIED,
+};
+
+/*
+ * Subsystem support was added in 6.0.  For kernels between 5.17 and 6.0
+ * the subsys fields do not exist; for kernels < 5.17 we define them here
+ * so that the mac80211 drop.h header compiles.
+ */
+#define SKB_DROP_REASON_SUBSYS_SHIFT		16
+#define SKB_DROP_REASON_SUBSYS_MASK		0xffff0000
+
+#endif /* < 5.17 */
+
+#endif /* __BACKPORT_NET_DROPREASON_CORE_H */
-- 
2.43.0


  parent reply	other threads:[~2026-06-24  7:40 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-24  7:38 [PATCH 00/20] backports: add missing backport-include header definitions Yi Cong
2026-06-24  7:38 ` [PATCH 01/20] headers: Add timer_shutdown_sync() Yi Cong
2026-06-24  7:38 ` [PATCH 02/20] headers: include linux/module.h from backport.h Yi Cong
2026-06-24  7:38 ` [PATCH 03/20] headers: add kstrtox.h backport Yi Cong
2026-06-24  7:38 ` [PATCH 04/20] headers: add get_random_u32_inclusive() for kernels < 6.2 Yi Cong
2026-06-24  7:38 ` [PATCH 05/20] headers: add genl_split_ops compat " Yi Cong
2026-06-24  7:38 ` [PATCH 06/20] headers: add thermal_zone_device_register_with_trips backport Yi Cong
2026-06-24  7:38 ` [PATCH 07/20] headers: add trace_sk_data_ready no-op for kernels < 6.0 Yi Cong
2026-06-24  7:38 ` Yi Cong [this message]
2026-06-24  7:38 ` [PATCH 09/20] headers: add dropreason.h backport " Yi Cong
2026-06-24  7:38 ` [PATCH 10/20] headers: add kfree_skb_reason() backport for kernels < 5.17 Yi Cong
2026-06-24  7:38 ` [PATCH 11/20] headers: add thermal_zone_device_priv() backport for kernels < 6.4 Yi Cong
2026-06-24  7:38 ` [PATCH 12/20] headers: add genl_small_ops backport for kernels < 5.10 Yi Cong
2026-06-24  7:38 ` [PATCH 13/20] headers: add class_create() single-argument backport for kernels < 6.4 Yi Cong
2026-06-24  7:38 ` [PATCH 14/20] headers: add list_count_nodes() backport for kernels < 6.5 Yi Cong
2026-06-24  7:38 ` [PATCH 15/20] headers: add net/gso.h " Yi Cong
2026-06-24  7:38 ` [PATCH 16/20] headers: add vcalloc() backport for kernels < 5.18 Yi Cong
2026-06-24  7:38 ` [PATCH 17/20] headers: add __counted_by macro for kernels < 6.6 Yi Cong
2026-06-24  7:38 ` [PATCH 18/20] headers: add crypto/utils.h redirect " Yi Cong
2026-06-24  7:38 ` [PATCH 19/20] headers: add led_trigger_blink/oneshot value-to-pointer backport for kernels < 6.5 Yi Cong
2026-06-24  7:38 ` [PATCH 20/20] headers: add of_property_present backport for kernels < 5.18 Yi Cong

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260624073844.2097504-9-cong.yi@linux.dev \
    --to=cong.yi@linux.dev \
    --cc=backports@vger.kernel.org \
    --cc=hauke@hauke-m.de \
    --cc=yicong@kylinos.cn \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox