diff mbox series

wifi: mac80211: fix ieee80211_drop_unencrypted_mgmt return type/value

Message ID 20230929162059.205c236c9f3f.I9ed4c65ab6514aa9e3c8877ec79092a302b2089d@changeid (mailing list archive)
State Accepted
Delegated to: Johannes Berg
Headers show
Series wifi: mac80211: fix ieee80211_drop_unencrypted_mgmt return type/value | expand

Commit Message

Johannes Berg Sept. 29, 2023, 2:21 p.m. UTC
From: Johannes Berg <johannes.berg@intel.com>

Somehow, I managed to botch this and pretty much completely break
wifi. My original patch did contain these changes, but I seem to
have lost them before sending to the list. Fix it now.

Reported-by: Kalle Valo <kvalo@kernel.org>
Fixes: 6c02fab72429 ("wifi: mac80211: split ieee80211_drop_unencrypted_mgmt() return value")
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
---
 net/mac80211/rx.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

Comments

Kalle Valo Sept. 29, 2023, 2:33 p.m. UTC | #1
Johannes Berg <johannes@sipsolutions.net> writes:

> From: Johannes Berg <johannes.berg@intel.com>
>
> Somehow, I managed to botch this and pretty much completely break
> wifi. My original patch did contain these changes, but I seem to
> have lost them before sending to the list. Fix it now.
>
> Reported-by: Kalle Valo <kvalo@kernel.org>
> Fixes: 6c02fab72429 ("wifi: mac80211: split ieee80211_drop_unencrypted_mgmt() return value")
> Signed-off-by: Johannes Berg <johannes.berg@intel.com>

Thank you for fixing this so quickly!

Tested-by: Kalle Valo <kvalo@kernel.org>

I assume you don't mind if I apply this to wireless-next still today?
diff mbox series

Patch

diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
index fb2d4a7436be..051db97a92b4 100644
--- a/net/mac80211/rx.c
+++ b/net/mac80211/rx.c
@@ -2405,7 +2405,8 @@  static int ieee80211_drop_unencrypted(struct ieee80211_rx_data *rx, __le16 fc)
 	return 0;
 }
 
-static int ieee80211_drop_unencrypted_mgmt(struct ieee80211_rx_data *rx)
+static ieee80211_rx_result
+ieee80211_drop_unencrypted_mgmt(struct ieee80211_rx_data *rx)
 {
 	struct ieee80211_rx_status *status = IEEE80211_SKB_RXCB(rx->skb);
 	struct ieee80211_mgmt *mgmt = (void *)rx->skb->data;
@@ -2473,7 +2474,7 @@  static int ieee80211_drop_unencrypted_mgmt(struct ieee80211_rx_data *rx)
 			return RX_DROP_U_UNPROT_UNICAST_PUB_ACTION;
 	}
 
-	return 0;
+	return RX_CONTINUE;
 }
 
 static ieee80211_rx_result