From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mail-iw0-f174.google.com ([209.85.214.174]:50778 "EHLO mail-iw0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757421Ab1DAVgt (ORCPT ); Fri, 1 Apr 2011 17:36:49 -0400 Received: by mail-iw0-f174.google.com with SMTP id 34so3925709iwn.19 for ; Fri, 01 Apr 2011 14:36:49 -0700 (PDT) From: Thomas Pedersen To: linux-wireless@vger.kernel.org Cc: javier@cozybit.com, johannes@sipsolutions.net, linville@tuxdriver.com Subject: [PATCH v6 06/10] mac80211: ignore peer link requests from unauthenticated stations. Date: Fri, 1 Apr 2011 13:35:47 -0700 Message-Id: <1301690151-14979-7-git-send-email-thomas@cozybit.com> In-Reply-To: <1301690151-14979-1-git-send-email-thomas@cozybit.com> References: <1301690151-14979-1-git-send-email-thomas@cozybit.com> Sender: linux-wireless-owner@vger.kernel.org List-ID: From: Javier Cardona Signed-off-by: Javier Cardona --- net/mac80211/mesh_plink.c | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-) diff --git a/net/mac80211/mesh_plink.c b/net/mac80211/mesh_plink.c index bafe255..5d0dd92 100644 --- a/net/mac80211/mesh_plink.c +++ b/net/mac80211/mesh_plink.c @@ -372,6 +372,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; @@ -484,6 +487,12 @@ void mesh_rx_plink_frame(struct ieee80211_sub_if_data *sdata, struct ieee80211_m return; } + if (sta && !test_sta_flags(sta, WLAN_STA_AUTH)) { + mpl_dbg("Mesh plink: Action frame from non-authed peer\n"); + rcu_read_unlock(); + return; + } + if (sta && sta->plink_state == PLINK_BLOCKED) { rcu_read_unlock(); return; -- 1.7.4.1