linux/drivers/net/wireless/ath/ath10k
Manikanta Pubbisetty 7393878255 wifi: ath10k: fix skb leak on incomplete msdu during rx pop
When ath10k_htt_rx_pop_paddr32_list() or
ath10k_htt_rx_pop_paddr64_list() encounters an incomplete frame
(RX_ATTENTION_FLAGS_MSDU_DONE not set), it returns -EIO without
purging the skb list built up so far, leaking any skbs already
queued in the list.

Other early-exit paths within these same functions already call
__skb_queue_purge() before returning an error. Add it before the
-EIO return as well to be consistent and prevent the leak.

Tested-on: WCN3990 hw1.0 WLAN.HL.3.2.2.c10-00754-QCAHLSWMTPL-1

Fixes: c545070e40 ("ath10k: implement rx reorder support")
Fixes: 3b0b55b19d ("ath10k: Add support for 64 bit HTT in-order indication msg")
Signed-off-by: Manikanta Pubbisetty <manikanta.pubbisetty@oss.qualcomm.com>
Reviewed-by: Rameshkumar Sundaram <rameshkumar.sundaram@oss.qualcomm.com>
Reviewed-by: Baochen Qiang <baochen.qiang@oss.qualcomm.com>
Link: https://patch.msgid.link/20260623064355.1876743-1-manikanta.pubbisetty@oss.qualcomm.com
Signed-off-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
2026-07-09 07:44:42 -07:00
..
ahb.c wifi: ath10k: Don't use %pK through printk 2025-04-17 15:49:35 -07:00
ahb.h
bmi.c wifi: ath10k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
bmi.h treewide: Replace 0-element memcpy() destinations with flexible arrays 2021-10-18 12:28:53 -07:00
ce.c wifi: ath10k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
ce.h wifi: ath10k: Annotate struct ath10k_ce_ring with __counted_by 2023-09-21 11:10:17 +03:00
core.c wifi: ath10k: use = {} to initialize bmi_target_info instead of memset 2025-10-30 14:55:08 -07:00
core.h wifi: ath10k: drop gpio_led reference 2026-05-11 07:59:00 -07:00
coredump.c wifi: ath10k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
coredump.h wifi: ath10k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
debug.c wifi: ath10k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
debug.h
debugfs_sta.c wifi: ath10k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
hif.h
htc.c wifi: ath10k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
htc.h wifi: ath10k: Use DECLARE_FLEX_ARRAY() for ath10k_htc_record 2023-11-30 19:02:23 +02:00
htt_rx.c wifi: ath10k: fix skb leak on incomplete msdu during rx pop 2026-07-09 07:44:42 -07:00
htt_tx.c wifi: ath10k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
htt.c wifi: ath10k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
htt.h wifi: ath10k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
hw.c wifi: ath10k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
hw.h wifi: ath10k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
Kconfig wifi: ath10k: snoc: select POWER_SEQUENCING 2026-04-23 10:57:50 -07:00
leds.c wifi: ath10k: drop gpio_led reference 2026-05-11 07:59:00 -07:00
leds.h wifi: ath10k: add LED and GPIO controlling support for various chipsets 2024-05-15 11:59:08 +03:00
mac.c Convert more 'alloc_obj' cases to default GFP_KERNEL arguments 2026-02-21 20:03:00 -08:00
mac.h
Makefile wifi: ath10k: add LED and GPIO controlling support for various chipsets 2024-05-15 11:59:08 +03:00
p2p.c
p2p.h
pci.c wifi: ath10k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
pci.h wifi: ath10k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
qmi_wlfw_v01.c wifi: ath10k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
qmi_wlfw_v01.h wifi: ath10k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
qmi.c wifi: ath: Fix the license marking 2026-05-11 07:59:01 -07:00
qmi.h wifi: ath10k: do not always wait for MSA_READY indicator 2024-05-13 17:15:48 +03:00
rx_desc.h wifi: ath10k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
sdio.c wifi: ath10k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
sdio.h
snoc.c wifi: ath10k: Add device-tree quirk to skip host cap QMI requests 2026-04-08 10:13:09 -07:00
snoc.h wifi: ath10k: Add device-tree quirk to skip host cap QMI requests 2026-04-08 10:13:09 -07:00
spectral.c wifi: ath10k: consistently use kstrtoX_from_user() functions 2023-10-02 19:54:51 +03:00
spectral.h
swap.c
swap.h ath10k: Replace zero-length array with flexible-array member 2022-02-21 12:23:28 +02:00
targaddrs.h wifi: ath10k: populate board data for WCN3990 2024-04-25 13:21:50 +03:00
testmode_i.h wifi: ath10k: Support for FTM TLV test commands 2025-10-22 08:30:52 -07:00
testmode.c wifi: ath10k: Support for FTM TLV test commands 2025-10-22 08:30:52 -07:00
testmode.h
thermal.c wifi: ath10k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
thermal.h wifi: ath10k: Fix miscellaneous spelling errors 2022-09-16 12:18:51 +03:00
trace.c wifi: ath10k: Add missing include of export.h 2025-06-23 07:28:33 -07:00
trace.h tracing/treewide: Remove second parameter of __assign_str() 2024-05-22 20:14:47 -04:00
txrx.c treewide: Replace kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08:00
txrx.h
usb.c wifi: ath10k: rename disconnect callback 2026-03-10 08:27:56 -07:00
usb.h wifi: ath10k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
wmi-ops.h wifi: ath10k: add LED and GPIO controlling support for various chipsets 2024-05-15 11:59:08 +03:00
wmi-tlv.c wifi: ath10k: fix station lookup failure during disconnect 2026-04-07 17:28:20 -07:00
wmi-tlv.h wifi: ath10k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
wmi.c wifi: ath10k: skip WMI and beacon transmission when device is wedged 2026-05-12 07:00:00 -07:00
wmi.h wifi: ath10k: Support for FTM TLV test commands 2025-10-22 08:30:52 -07:00
wow.c wifi: ath10k: Update Qualcomm copyrights 2026-06-09 06:50:28 -07:00
wow.h