backports.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Hauke Mehrtens <hauke@hauke-m.de>
To: backports@vger.kernel.org
Cc: johannes@sipsolutions.net, Hauke Mehrtens <hauke@hauke-m.de>
Subject: [PATCH 22/30] patches: Avoid using NLA_POLICY_RANGE(NLA_BINARY, ...)
Date: Tue,  1 Dec 2020 23:04:07 +0100	[thread overview]
Message-ID: <20201201220415.30582-23-hauke@hauke-m.de> (raw)
In-Reply-To: <20201201220415.30582-1-hauke@hauke-m.de>

Support for NLA_POLICY_RANGE(NLA_BINARY, ...) was added in upstream
Linux commit c8b828023088 ("nl80211: use NLA_POLICY_RANGE(NLA_BINARY,
...) for a few attributes") and needs commit 8aa26c575fb ("netlink: make
NLA_BINARY validation more flexible") which was added in kernel 5.10.

Just ignore the checks in older kernel versions.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
---
 backport/backport-include/net/netlink.h   |  6 +++
 patches/0099-netlink-range/mac80211.patch | 57 +++++++++++++++++++++++
 2 files changed, 63 insertions(+)
 create mode 100644 patches/0099-netlink-range/mac80211.patch

diff --git a/backport/backport-include/net/netlink.h b/backport/backport-include/net/netlink.h
index 082ac4d0..c97f9abd 100644
--- a/backport/backport-include/net/netlink.h
+++ b/backport/backport-include/net/netlink.h
@@ -719,4 +719,10 @@ static inline void *nla_memdup(const struct nlattr *src, gfp_t gfp)
 }
 #endif /* < 4.9 */
 
+#ifndef NLA_POLICY_MIN_LEN
+#define NLA_POLICY_MIN_LEN(_len) {		\
+	.type = NLA_BINARY			\
+}
+#endif
+
 #endif /* __BACKPORT_NET_NETLINK_H */
diff --git a/patches/0099-netlink-range/mac80211.patch b/patches/0099-netlink-range/mac80211.patch
new file mode 100644
index 00000000..48afe208
--- /dev/null
+++ b/patches/0099-netlink-range/mac80211.patch
@@ -0,0 +1,57 @@
+--- a/net/wireless/nl80211.c
++++ b/net/wireless/nl80211.c
+@@ -387,9 +387,11 @@ static const struct nla_policy
+ nl80211_fils_discovery_policy[NL80211_FILS_DISCOVERY_ATTR_MAX + 1] = {
+ 	[NL80211_FILS_DISCOVERY_ATTR_INT_MIN] = NLA_POLICY_MAX(NLA_U32, 10000),
+ 	[NL80211_FILS_DISCOVERY_ATTR_INT_MAX] = NLA_POLICY_MAX(NLA_U32, 10000),
++#if LINUX_VERSION_IS_GEQ(5,10,0)
+ 	NLA_POLICY_RANGE(NLA_BINARY,
+ 			 NL80211_FILS_DISCOVERY_TMPL_MIN_LEN,
+ 			 IEEE80211_MAX_DATA_LEN),
++#endif
+ };
+ 
+ static const struct nla_policy
+@@ -617,16 +619,26 @@ static const struct nla_policy nl80211_p
+ 	 * The value of the Length field of the Supported Operating
+ 	 * Classes element is between 2 and 253.
+ 	 */
++#if LINUX_VERSION_IS_GEQ(5,10,0)
+ 	[NL80211_ATTR_STA_SUPPORTED_OPER_CLASSES] =
+ 		NLA_POLICY_RANGE(NLA_BINARY, 2, 253),
++#else
++	[NL80211_ATTR_STA_SUPPORTED_OPER_CLASSES] =
++		{ .type = NLA_BINARY },
++#endif
+ 	[NL80211_ATTR_HANDLE_DFS] = { .type = NLA_FLAG },
+ 	[NL80211_ATTR_OPMODE_NOTIF] = { .type = NLA_U8 },
+ 	[NL80211_ATTR_VENDOR_ID] = { .type = NLA_U32 },
+ 	[NL80211_ATTR_VENDOR_SUBCMD] = { .type = NLA_U32 },
+ 	[NL80211_ATTR_VENDOR_DATA] = { .type = NLA_BINARY },
++#if LINUX_VERSION_IS_GEQ(5,10,0)
+ 	[NL80211_ATTR_QOS_MAP] = NLA_POLICY_RANGE(NLA_BINARY,
+ 						  IEEE80211_QOS_MAP_LEN_MIN,
+ 						  IEEE80211_QOS_MAP_LEN_MAX),
++#else
++	[NL80211_ATTR_QOS_MAP] = { .type = NLA_BINARY,
++				   .len = IEEE80211_QOS_MAP_LEN_MAX },
++#endif
+ 	[NL80211_ATTR_MAC_HINT] = NLA_POLICY_EXACT_LEN_WARN(ETH_ALEN),
+ 	[NL80211_ATTR_WIPHY_FREQ_HINT] = { .type = NLA_U32 },
+ 	[NL80211_ATTR_TDLS_PEER_CAPABILITY] = { .type = NLA_U32 },
+@@ -681,10 +693,15 @@ static const struct nla_policy nl80211_p
+ 	[NL80211_ATTR_TXQ_LIMIT] = { .type = NLA_U32 },
+ 	[NL80211_ATTR_TXQ_MEMORY_LIMIT] = { .type = NLA_U32 },
+ 	[NL80211_ATTR_TXQ_QUANTUM] = { .type = NLA_U32 },
++#if LINUX_VERSION_IS_GEQ(5,10,0)
+ 	[NL80211_ATTR_HE_CAPABILITY] =
+ 		NLA_POLICY_RANGE(NLA_BINARY,
+ 				 NL80211_HE_MIN_CAPABILITY_LEN,
+ 				 NL80211_HE_MAX_CAPABILITY_LEN),
++#else
++	[NL80211_ATTR_HE_CAPABILITY] = { .type = NLA_BINARY,
++					 .len = NL80211_HE_MAX_CAPABILITY_LEN },
++#endif
+ 	[NL80211_ATTR_FTM_RESPONDER] =
+ 		NLA_POLICY_NESTED(nl80211_ftm_responder_policy),
+ 	[NL80211_ATTR_TIMEOUT] = NLA_POLICY_MIN(NLA_U32, 1),
-- 
2.20.1

--
To unsubscribe from this list: send the line "unsubscribe backports" in

  parent reply	other threads:[~2020-12-01 22:05 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-01 22:03 [PATCH 00/30] backports: Update to match kernel 5.10-rc6 Hauke Mehrtens
2020-12-01 22:03 ` [PATCH 01/30] backports: Adapt to changes in Ubuntu mainline URLs Hauke Mehrtens
2020-12-01 22:03 ` [PATCH 02/30] gentree.py: Remoace space between -I and $(src) Hauke Mehrtens
2020-12-01 22:03 ` [PATCH 03/30] backports: Extend NOSTDINC_FLAGS Hauke Mehrtens
2020-12-01 22:03 ` [PATCH 04/30] patches: Refresh on kernel 5.8.18 Hauke Mehrtens
2020-12-01 22:03 ` [PATCH 05/30] backports: add sched_set_fifo_low Hauke Mehrtens
2020-12-01 22:03 ` [PATCH 06/30] backports: add tasklet_setup, from_tasklet Hauke Mehrtens
2020-12-01 22:03 ` [PATCH 07/30] backports: Add time64_to_tm and ipv6_mc_check_mld Hauke Mehrtens
2020-12-01 22:03 ` [PATCH 08/30] backprots: make patches apply on 5.9.11 Hauke Mehrtens
2020-12-01 22:03 ` [PATCH 09/30] header: add module_sdio_driver Hauke Mehrtens
2020-12-01 22:03 ` [PATCH 10/30] header: Rename kfree_sensitive(x) to kzfree(x) Hauke Mehrtens
2020-12-01 22:03 ` [PATCH 11/30] header: dummy implementation for thermal_zone_device_enable Hauke Mehrtens
2020-12-01 22:03 ` [PATCH 12/30] header: Add __skb_put_zero() Hauke Mehrtens
2020-12-01 22:03 ` [PATCH 13/30] dependency: add MT7663S Hauke Mehrtens
2020-12-01 22:03 ` [PATCH 14/30] backports: add gpiochip_request_own_desc() Hauke Mehrtens
2020-12-01 22:04 ` [PATCH 15/30] backports: Add microchip wilc1000 driver Hauke Mehrtens
2020-12-01 22:04 ` [PATCH 16/30] backports: Make rx_list handling work on older kernel versions Hauke Mehrtens
2020-12-01 22:04 ` [PATCH 17/30] patches: Add missing linux/kthread.h include Hauke Mehrtens
2020-12-01 22:04 ` [PATCH 18/30] patches: Add include to rtw88 Hauke Mehrtens
2020-12-01 22:04 ` [PATCH 19/30] patches: handle netdev_walk_all_lower_dev() Hauke Mehrtens
2020-12-01 22:04 ` [PATCH 20/30] patches: Remove unneeded 0018-pv-trace-fixes patch Hauke Mehrtens
2020-12-01 22:04 ` [PATCH 21/30] patches: Refresh on kernel 5.10-rc6 Hauke Mehrtens
2020-12-01 22:04 ` Hauke Mehrtens [this message]
2020-12-01 22:04 ` [PATCH 23/30] patches: Deactivate hikey9xx staging driver Hauke Mehrtens
2020-12-01 22:04 ` [PATCH 24/30] patches: Revert usage of small_ops Hauke Mehrtens
2020-12-01 22:04 ` [PATCH 25/30] headers: Add DEFINE_SEQ_ATTRIBUTE Hauke Mehrtens
2020-12-01 22:04 ` [PATCH 26/30] backports: Add netif_rx_any_context() Hauke Mehrtens
2020-12-01 22:04 ` [PATCH 27/30] backports: Add dev_fetch_sw_netstats() Hauke Mehrtens
2020-12-01 22:04 ` [PATCH 28/30] backports: Make ieee80211_tx_status handling work on older kernel versions Hauke Mehrtens
2020-12-01 22:04 ` [PATCH 29/30] backports: Add sysfs_emit() Hauke Mehrtens
2020-12-01 22:04 ` [PATCH 30/30] backports: Remove crypto/akcipher.h Hauke Mehrtens
2020-12-06 15:57 ` [PATCH 00/30] backports: Update to match kernel 5.10-rc6 Hauke Mehrtens

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=20201201220415.30582-23-hauke@hauke-m.de \
    --to=hauke@hauke-m.de \
    --cc=backports@vger.kernel.org \
    --cc=johannes@sipsolutions.net \
    /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;
as well as URLs for NNTP newsgroup(s).