hc
2024-10-22 8ac6c7a54ed1b98d142dce24b11c6de6a1e239a5
kernel/net/wireless/ibss.c
....@@ -104,13 +104,19 @@
104104 * use the mandatory rate set for 11b or
105105 * 11a for maximum compatibility.
106106 */
107
- struct ieee80211_supported_band *sband =
108
- rdev->wiphy.bands[params->chandef.chan->band];
107
+ struct ieee80211_supported_band *sband;
108
+ enum nl80211_band band;
109
+ u32 flag;
109110 int j;
110
- u32 flag = params->chandef.chan->band == NL80211_BAND_5GHZ ?
111
- IEEE80211_RATE_MANDATORY_A :
112
- IEEE80211_RATE_MANDATORY_B;
113111
112
+ band = params->chandef.chan->band;
113
+ if (band == NL80211_BAND_5GHZ ||
114
+ band == NL80211_BAND_6GHZ)
115
+ flag = IEEE80211_RATE_MANDATORY_A;
116
+ else
117
+ flag = IEEE80211_RATE_MANDATORY_B;
118
+
119
+ sband = rdev->wiphy.bands[band];
114120 for (j = 0; j < sband->n_bitrates; j++) {
115121 if (sband->bitrates[j].flags & flag)
116122 params->basic_rates |= BIT(j);
....@@ -121,7 +127,7 @@
121127 return -EINVAL;
122128
123129 if (WARN_ON(wdev->connect_keys))
124
- kzfree(wdev->connect_keys);
130
+ kfree_sensitive(wdev->connect_keys);
125131 wdev->connect_keys = connkeys;
126132
127133 wdev->ibss_fixed = params->channel_fixed;
....@@ -155,7 +161,7 @@
155161
156162 ASSERT_WDEV_LOCK(wdev);
157163
158
- kzfree(wdev->connect_keys);
164
+ kfree_sensitive(wdev->connect_keys);
159165 wdev->connect_keys = NULL;
160166
161167 rdev_set_qos_map(rdev, dev, NULL);