lkml.org 
[lkml]   [2020]   [Jan]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.4 143/183] mac80211: accept deauth frames in IBSS mode
    Date
    From: Johannes Berg <johannes.berg@intel.com>

    [ Upstream commit 95697f9907bfe3eab0ef20265a766b22e27dde64 ]

    We can process deauth frames and all, but we drop them very
    early in the RX path today - this could never have worked.

    Fixes: 2cc59e784b54 ("mac80211: reply to AUTH with DEAUTH if sta allocation fails in IBSS")
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
    Link: https://lore.kernel.org/r/20191004123706.15768-2-luca@coelho.fi
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    net/mac80211/rx.c | 11 ++++++++++-
    1 file changed, 10 insertions(+), 1 deletion(-)

    diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
    index 3b8e2f97d8151..2b7975c4dac7b 100644
    --- a/net/mac80211/rx.c
    +++ b/net/mac80211/rx.c
    @@ -3040,9 +3040,18 @@ ieee80211_rx_h_mgmt(struct ieee80211_rx_data *rx)
    case cpu_to_le16(IEEE80211_STYPE_PROBE_RESP):
    /* process for all: mesh, mlme, ibss */
    break;
    + case cpu_to_le16(IEEE80211_STYPE_DEAUTH):
    + if (is_multicast_ether_addr(mgmt->da) &&
    + !is_broadcast_ether_addr(mgmt->da))
    + return RX_DROP_MONITOR;
    +
    + /* process only for station/IBSS */
    + if (sdata->vif.type != NL80211_IFTYPE_STATION &&
    + sdata->vif.type != NL80211_IFTYPE_ADHOC)
    + return RX_DROP_MONITOR;
    + break;
    case cpu_to_le16(IEEE80211_STYPE_ASSOC_RESP):
    case cpu_to_le16(IEEE80211_STYPE_REASSOC_RESP):
    - case cpu_to_le16(IEEE80211_STYPE_DEAUTH):
    case cpu_to_le16(IEEE80211_STYPE_DISASSOC):
    if (is_multicast_ether_addr(mgmt->da) &&
    !is_broadcast_ether_addr(mgmt->da))
    --
    2.20.1


    \
     
     \ /
      Last update: 2020-01-28 15:13    [W:3.109 / U:0.204 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site