[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250701211105.280128-2-moonhee.lee.ca@gmail.com>
Date: Tue, 1 Jul 2025 14:11:06 -0700
From: Moon Hee Lee <moonhee.lee.ca@...il.com>
To: syzbot+ededba317ddeca8b3f08@...kaller.appspotmail.com,
syzkaller-bugs@...glegroups.com,
linux-kernel@...r.kernel.org
Cc: moonhee.lee.ca@...il.com
Subject: [PATCH] wifi: mac80211: reject opmode notification for unsupported channel widths
#syz test: git://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless.git main
---
net/mac80211/cfg.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c
index d9d88f2f2831..f2e96eb07e8f 100644
--- a/net/mac80211/cfg.c
+++ b/net/mac80211/cfg.c
@@ -1959,6 +1959,21 @@ static int sta_link_apply_parameters(struct ieee80211_local *local,
ieee80211_sta_init_nss(link_sta);
if (params->opmode_notif_used) {
+ enum nl80211_chan_width width = link->conf->chanreq.oper.width;
+
+ switch (width) {
+ case NL80211_CHAN_WIDTH_20_NOHT:
+ case NL80211_CHAN_WIDTH_20:
+ case NL80211_CHAN_WIDTH_40:
+ case NL80211_CHAN_WIDTH_80:
+ case NL80211_CHAN_WIDTH_160:
+ case NL80211_CHAN_WIDTH_80P80:
+ case NL80211_CHAN_WIDTH_320:
+ break;
+ default:
+ return -EINVAL;
+ }
+
/* returned value is only needed for rc update, but the
* rc isn't initialized here yet, so ignore it
*/
--
2.43.0
Powered by blists - more mailing lists