Merge tag 'mac80211-for-net-2020-02-24' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211
Johannes Berg ==================== A few fixes: * remove a double mutex-unlock * fix a leak in an error path * NULL pointer check * include if_vlan.h where needed * avoid RCU list traversal when not under RCU ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
+1
-5
@@ -2959,7 +2959,7 @@ static void ieee80211_rx_mgmt_auth(struct ieee80211_sub_if_data *sdata,
|
||||
(auth_transaction == 2 &&
|
||||
ifmgd->auth_data->expected_transaction == 2)) {
|
||||
if (!ieee80211_mark_sta_auth(sdata, bssid))
|
||||
goto out_err;
|
||||
return; /* ignore frame -- wait for timeout */
|
||||
} else if (ifmgd->auth_data->algorithm == WLAN_AUTH_SAE &&
|
||||
auth_transaction == 2) {
|
||||
sdata_info(sdata, "SAE peer confirmed\n");
|
||||
@@ -2967,10 +2967,6 @@ static void ieee80211_rx_mgmt_auth(struct ieee80211_sub_if_data *sdata,
|
||||
}
|
||||
|
||||
cfg80211_rx_mlme_mgmt(sdata->dev, (u8 *)mgmt, len);
|
||||
return;
|
||||
out_err:
|
||||
mutex_unlock(&sdata->local->sta_mtx);
|
||||
/* ignore frame -- wait for timeout */
|
||||
}
|
||||
|
||||
#define case_WLAN(type) \
|
||||
|
||||
+1
-1
@@ -4114,7 +4114,7 @@ void __ieee80211_check_fast_rx_iface(struct ieee80211_sub_if_data *sdata)
|
||||
|
||||
lockdep_assert_held(&local->sta_mtx);
|
||||
|
||||
list_for_each_entry_rcu(sta, &local->sta_list, list) {
|
||||
list_for_each_entry(sta, &local->sta_list, list) {
|
||||
if (sdata != sta->sdata &&
|
||||
(!sta->sdata->bss || sta->sdata->bss != sdata->bss))
|
||||
continue;
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
#include <linux/netlink.h>
|
||||
#include <linux/nospec.h>
|
||||
#include <linux/etherdevice.h>
|
||||
#include <linux/if_vlan.h>
|
||||
#include <net/net_namespace.h>
|
||||
#include <net/genetlink.h>
|
||||
#include <net/cfg80211.h>
|
||||
@@ -4800,8 +4801,7 @@ static int nl80211_start_ap(struct sk_buff *skb, struct genl_info *info)
|
||||
err = nl80211_parse_he_obss_pd(
|
||||
info->attrs[NL80211_ATTR_HE_OBSS_PD],
|
||||
¶ms.he_obss_pd);
|
||||
if (err)
|
||||
return err;
|
||||
goto out;
|
||||
}
|
||||
|
||||
nl80211_calculate_ap_params(¶ms);
|
||||
@@ -4823,6 +4823,7 @@ static int nl80211_start_ap(struct sk_buff *skb, struct genl_info *info)
|
||||
}
|
||||
wdev_unlock(wdev);
|
||||
|
||||
out:
|
||||
kfree(params.acl);
|
||||
|
||||
return err;
|
||||
|
||||
+1
-1
@@ -2276,7 +2276,7 @@ static void handle_channel_custom(struct wiphy *wiphy,
|
||||
break;
|
||||
}
|
||||
|
||||
if (IS_ERR(reg_rule)) {
|
||||
if (IS_ERR_OR_NULL(reg_rule)) {
|
||||
pr_debug("Disabling freq %d MHz as custom regd has no rule that fits it\n",
|
||||
chan->center_freq);
|
||||
if (wiphy->regulatory_flags & REGULATORY_WIPHY_SELF_MANAGED) {
|
||||
|
||||
Reference in New Issue
Block a user