2014-03-06 14:16:58

by michael-dev

[permalink] [raw]
Subject: [PATCH] mac80211: fix WPA with VLAN on AP side with ps-sta again

commit de74a1d9032f4d37ea453ad2a647e1aff4cd2591
"mac80211: fix WPA with VLAN on AP side with ps-sta"
fixed an issue where queued multicast packets would
be sent out encrypted with the key of an other bss.

commit "7cbf9d017dbb5e3276de7d527925d42d4c11e732"
"mac80211: fix oops on mesh PS broadcast forwarding"
essentially reverted it, because vif.type cannot be AP_VLAN
due to the check to vif.type in ieee80211_get_buffered_bc before.

As the later commit intended to fix the MESH case, fix it
by checking for IFTYPE_AP instead of IFTYPE_AP_VLAN.

Fixes: 7cbf9d017dbb
Cc: <[email protected]> # 3.10.x
Cc: <[email protected]> # 3.11.x
Cc: <[email protected]> # 3.12.x
Cc: <[email protected]> # 3.13.x
Cc: <[email protected]>
Cc: <[email protected]>
Signed-off-by: Michael Braun <[email protected]>
---
net/mac80211/tx.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
index cd9f80498c48..19d36d4117e0 100644
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
@@ -2900,7 +2900,7 @@ ieee80211_get_buffered_bc(struct ieee80211_hw *hw,
cpu_to_le16(IEEE80211_FCTL_MOREDATA);
}

- if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN)
+ if (sdata->vif.type == NL80211_IFTYPE_AP)
sdata = IEEE80211_DEV_TO_SUB_IF(skb->dev);
if (!ieee80211_tx_prepare(sdata, &tx, skb))
break;
--
1.8.3.2



2014-03-19 13:55:52

by Johannes Berg

[permalink] [raw]
Subject: Re: [PATCH] mac80211: fix WPA with VLAN on AP side with ps-sta again

On Thu, 2014-03-06 at 15:08 +0100, Michael Braun wrote:
> commit de74a1d9032f4d37ea453ad2a647e1aff4cd2591
> "mac80211: fix WPA with VLAN on AP side with ps-sta"
> fixed an issue where queued multicast packets would
> be sent out encrypted with the key of an other bss.
>
> commit "7cbf9d017dbb5e3276de7d527925d42d4c11e732"
> "mac80211: fix oops on mesh PS broadcast forwarding"
> essentially reverted it, because vif.type cannot be AP_VLAN
> due to the check to vif.type in ieee80211_get_buffered_bc before.
>
> As the later commit intended to fix the MESH case, fix it
> by checking for IFTYPE_AP instead of IFTYPE_AP_VLAN.

Applied.

> Fixes: 7cbf9d017dbb

I added the commit subject to this.

johannes