From: Javier Cardona <javier@xxxxxxxxxxx> Signed-off-by: Javier Cardona <javier@xxxxxxxxxxx> Tested-by: Thomas Pedersen <thomas@xxxxxxxxxxx> --- net/mac80211/mesh_plink.c | 7 ++++++- 1 files changed, 6 insertions(+), 1 deletions(-) diff --git a/net/mac80211/mesh_plink.c b/net/mac80211/mesh_plink.c index 5a845fd..a89a90e 100644 --- a/net/mac80211/mesh_plink.c +++ b/net/mac80211/mesh_plink.c @@ -378,6 +378,9 @@ int mesh_plink_open(struct sta_info *sta) __le16 llid; struct ieee80211_sub_if_data *sdata = sta->sdata; + if (!test_sta_flags(sta, WLAN_STA_AUTH)) + return -EPERM; + spin_lock_bh(&sta->lock); get_random_bytes(&llid, 2); sta->llid = llid; @@ -486,7 +489,9 @@ void mesh_rx_plink_frame(struct ieee80211_sub_if_data *sdata, struct ieee80211_m return; } - if (sta && sta->plink_state == PLINK_BLOCKED) { + if (sta && (!test_sta_flags(sta, WLAN_STA_AUTH) || + sta->plink_state == PLINK_BLOCKED)) { + mpl_dbg("Mesh plink: blocked or unauthenticated peer\n"); rcu_read_unlock(); return; } -- 1.7.0.4 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html