Message ID | 20250430-wmi-mem-leak-v1-1-fcc9b49c2ddc@quicinc.com |
---|---|
State | New |
Headers | show |
Series | [ath-next] wifi: ath12k: fix memory leak in ath12k_service_ready_ext_event | expand |
On Wed, 30 Apr 2025 10:25:38 +0530, Raj Kumar Bhagat wrote: > Currently, in ath12k_service_ready_ext_event(), svc_rdy_ext.mac_phy_caps > is not freed in the failure case, causing a memory leak. The following > trace is observed in kmemleak: > > unreferenced object 0xffff8b3eb5789c00 (size 1024): > comm "softirq", pid 0, jiffies 4294942577 > hex dump (first 32 bytes): > 00 00 00 00 01 00 00 00 00 00 00 00 7b 00 00 10 ............{... > 01 00 00 00 00 00 00 00 01 00 00 00 1f 38 00 00 .............8.. > backtrace (crc 44e1c357): > __kmalloc_noprof+0x30b/0x410 > ath12k_wmi_mac_phy_caps_parse+0x84/0x100 [ath12k] > ath12k_wmi_tlv_iter+0x5e/0x140 [ath12k] > ath12k_wmi_svc_rdy_ext_parse+0x308/0x4c0 [ath12k] > ath12k_wmi_tlv_iter+0x5e/0x140 [ath12k] > ath12k_service_ready_ext_event.isra.0+0x44/0xd0 [ath12k] > ath12k_wmi_op_rx+0x2eb/0xd70 [ath12k] > ath12k_htc_rx_completion_handler+0x1f4/0x330 [ath12k] > ath12k_ce_recv_process_cb+0x218/0x300 [ath12k] > ath12k_pci_ce_workqueue+0x1b/0x30 [ath12k] > process_one_work+0x219/0x680 > bh_worker+0x198/0x1f0 > tasklet_action+0x13/0x30 > handle_softirqs+0xca/0x460 > __irq_exit_rcu+0xbe/0x110 > irq_exit_rcu+0x9/0x30 > > [...] Applied, thanks! [1/1] wifi: ath12k: fix memory leak in ath12k_service_ready_ext_event commit: 89142d34d5602c7447827beb181fa06eb08b9d5c Best regards,
diff --git a/drivers/net/wireless/ath/ath12k/wmi.c b/drivers/net/wireless/ath/ath12k/wmi.c index ea303dca38b51f98399079cd3ac06a48fd9cc025..460837f61894b05b1356d3dfdecfbf7b06f8a3e6 100644 --- a/drivers/net/wireless/ath/ath12k/wmi.c +++ b/drivers/net/wireless/ath/ath12k/wmi.c @@ -4733,6 +4733,7 @@ static int ath12k_service_ready_ext_event(struct ath12k_base *ab, return 0; err: + kfree(svc_rdy_ext.mac_phy_caps); ath12k_wmi_free_dbring_caps(ab); return ret; }