]> git.baikalelectronics.ru Git - kernel.git/commitdiff
wifi: nl80211: fix NULL-ptr deref in offchan check
authorJohannes Berg <johannes.berg@intel.com>
Wed, 1 Mar 2023 10:09:29 +0000 (12:09 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 22 Mar 2023 12:33:43 +0000 (13:33 +0100)
[ Upstream commit e0015f8c26797afc6fb7e5419da9e3ea245cd387 ]

If, e.g. in AP mode, the link was already created by userspace
but not activated yet, it has a chandef but the chandef isn't
valid and has no channel. Check for this and ignore this link.

Fixes: d624b47de5de ("wifi: cfg80211: do some rework towards MLO link APIs")
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230301115906.71bd4803fbb9.Iee39c0f6c2d3a59a8227674dc55d52e38b1090cf@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/wireless/nl80211.c

index 4d4de49f7ab65f3ee26c16647808d6c7fabee0d5..4c6748aa6a1c1c1e305ec39dd73e91ef42ae8c77 100644 (file)
@@ -8815,7 +8815,7 @@ static bool cfg80211_off_channel_oper_allowed(struct wireless_dev *wdev,
                struct cfg80211_chan_def *chandef;
 
                chandef = wdev_chandef(wdev, link_id);
-               if (!chandef)
+               if (!chandef || !chandef->chan)
                        continue;
 
                /*