diff options
author | Benjamin Berg <benjamin.berg@intel.com> | 2023-12-11 09:05:28 +0200 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2023-12-12 10:37:01 +0100 |
commit | f510bcc21ed97911b811c5bf36ed43a0e94ab702 (patch) | |
tree | daef1fe23209d2b136bffcde1b3bdc8dbe744beb /net/wireless/scan.c | |
parent | 5f478adf1f992d4a680c341d49122224286c805f (diff) | |
download | linux-stable-f510bcc21ed97911b811c5bf36ed43a0e94ab702.tar.gz linux-stable-f510bcc21ed97911b811c5bf36ed43a0e94ab702.tar.bz2 linux-stable-f510bcc21ed97911b811c5bf36ed43a0e94ab702.zip |
wifi: cfg80211: consume both probe response and beacon IEs
When doing a channel switch, cfg80211_update_known_bss may be called
with a BSS where both proberesp_ies and beacon_ies is set. If that
happens, both need to be consumed.
Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://msgid.link/20231211085121.07a88656d7df.I0fe9fc599382de0eccf96455617e377d9c231966@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/wireless/scan.c')
-rw-r--r-- | net/wireless/scan.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/net/wireless/scan.c b/net/wireless/scan.c index 3e3ba0ddb83e..3d260c99c348 100644 --- a/net/wireless/scan.c +++ b/net/wireless/scan.c @@ -1749,7 +1749,9 @@ cfg80211_update_known_bss(struct cfg80211_registered_device *rdev, new->pub.proberesp_ies); if (old) kfree_rcu((struct cfg80211_bss_ies *)old, rcu_head); - } else if (rcu_access_pointer(new->pub.beacon_ies)) { + } + + if (rcu_access_pointer(new->pub.beacon_ies)) { const struct cfg80211_bss_ies *old; if (known->pub.hidden_beacon_bss && |