Skip to content

Commit e131562

Browse files
Lythergregkh
authored andcommitted
wifi: mac80211: drop stray 'static' from fast-RX rx_result
commit 7a5b81e upstream. ieee80211_invoke_fast_rx() is documented as safe for parallel RX, but its per-invocation rx_result is declared static. Concurrent callers then share one instance and can overwrite each other's result between ieee80211_rx_mesh_data() and the switch on res. That can make a packet that was queued or consumed by ieee80211_rx_mesh_data() fall through into ieee80211_rx_8023(), or make a packet that should continue return as queued. Make res an automatic variable so each invocation keeps its own result. Fixes: 3468e1e ("wifi: mac80211: add mesh fast-rx support") Cc: stable@vger.kernel.org Signed-off-by: Catherine <enderaoelyther@gmail.com> Link: https://patch.msgid.link/20260424131435.83212-2-enderaoelyther@gmail.com Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
1 parent 9d1bc15 commit e131562

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

net/mac80211/rx.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4824,7 +4824,7 @@ static bool ieee80211_invoke_fast_rx(struct ieee80211_rx_data *rx,
48244824
struct sk_buff *skb = rx->skb;
48254825
struct ieee80211_hdr *hdr = (void *)skb->data;
48264826
struct ieee80211_rx_status *status = IEEE80211_SKB_RXCB(skb);
4827-
static ieee80211_rx_result res;
4827+
ieee80211_rx_result res;
48284828
int orig_len = skb->len;
48294829
int hdrlen = ieee80211_hdrlen(hdr->frame_control);
48304830
int snap_offs = hdrlen;

0 commit comments

Comments
 (0)