The patch below does not apply to the 4.19-stable tree. If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <stable@xxxxxxxxxxxxxxx>. To reproduce the conflict and resubmit, you may use the following commands: git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-4.19.y git checkout FETCH_HEAD git cherry-pick -x c98d8836b817d11fdff4ca7749cbbe04ff7f0c64 # <resolve conflicts, build, test, etc.> git commit -s git send-email --to '<stable@xxxxxxxxxxxxxxx>' --in-reply-to '2024021948-regally-festival-39c8@gregkh' --subject-prefix 'PATCH 4.19.y' HEAD^.. Possible dependencies: c98d8836b817 ("wifi: mac80211: reload info pointer in ieee80211_tx_dequeue()") 23a5f0af6ff4 ("wifi: mac80211: remove cipher scheme support") 6d501764288c ("mac80211: introduce channel switch disconnect function") 71abf71e9e63 ("mac80211: Remove unused assignment statements") 77dfc2bc0bb4 ("mac80211: do not access the IV when it was stripped") 63214f02cff9 ("mac80211: save transmit power envelope element and power constraint") 405fca8a9461 ("ieee80211: add power type definition for 6 GHz") 5d24828d05f3 ("mac80211: always allocate struct ieee802_11_elems") c6e37ed498f9 ("mac80211: move CRC into struct ieee802_11_elems") a5b983c60731 ("mac80211: mesh: clean up rx_bcn_presp API") 65be6aa36ded ("mac80211: add HE 6 GHz capability only if supported") 15fae3410f1d ("mac80211: notify driver on mgd TX completion") 9bd6a83e53a7 ("mac80211: add vendor-specific capabilities to assoc request") bac2fd3d7534 ("mac80211: remove use of ieee80211_get_he_sta_cap()") c74025f47ac8 ("mac80211: rearrange struct txq_info for fewer holes") d8b261548dcf ("mac80211: add to bss_conf if broadcast TWT is supported") bbc6f03ff26e ("mac80211: reset profile_periodicity/ema_ap") bf30ca922a0c ("mac80211: check defrag PN against current frame") 3a11ce08c45b ("mac80211: add fragment cache to sta_info") 270032a2a9c4 ("mac80211: drop A-MSDUs on old ciphers") thanks, greg k-h ------------------ original commit in Linus's tree ------------------ >From c98d8836b817d11fdff4ca7749cbbe04ff7f0c64 Mon Sep 17 00:00:00 2001 From: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed, 31 Jan 2024 16:49:10 +0100 Subject: [PATCH] wifi: mac80211: reload info pointer in ieee80211_tx_dequeue() This pointer can change here since the SKB can change, so we actually later open-coded IEEE80211_SKB_CB() again. Reload the pointer where needed, so the monitor-mode case using it gets fixed, and then use info-> later as well. Cc: stable@xxxxxxxxxxxxxxx Fixes: 531682159092 ("mac80211: fix VLAN handling with TXQs") Link: https://msgid.link/20240131164910.b54c28d583bc.I29450cec84ea6773cff5d9c16ff92b836c331471@changeid Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c index e448ab338448..6fbb15b65902 100644 --- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c @@ -5,7 +5,7 @@ * Copyright 2006-2007 Jiri Benc <jbenc@xxxxxxx> * Copyright 2007 Johannes Berg <johannes@xxxxxxxxxxxxxxxx> * Copyright 2013-2014 Intel Mobile Communications GmbH - * Copyright (C) 2018-2022 Intel Corporation + * Copyright (C) 2018-2024 Intel Corporation * * Transmit and frame generation functions. */ @@ -3927,6 +3927,7 @@ struct sk_buff *ieee80211_tx_dequeue(struct ieee80211_hw *hw, goto begin; skb = __skb_dequeue(&tx.skbs); + info = IEEE80211_SKB_CB(skb); if (!skb_queue_empty(&tx.skbs)) { spin_lock_bh(&fq->lock); @@ -3971,7 +3972,7 @@ struct sk_buff *ieee80211_tx_dequeue(struct ieee80211_hw *hw, } encap_out: - IEEE80211_SKB_CB(skb)->control.vif = vif; + info->control.vif = vif; if (tx.sta && wiphy_ext_feature_isset(local->hw.wiphy, NL80211_EXT_FEATURE_AQL)) {