]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
ath11k: Fix memory leak in ath11k_qmi_driver_event_work
authorBaochen Qiang <bqiang@codeaurora.org>
Tue, 28 Sep 2021 11:00:44 +0000 (14:00 +0300)
committerAndrea Righi <andrea.righi@canonical.com>
Tue, 7 Dec 2021 06:32:55 +0000 (07:32 +0100)
BugLink: https://bugs.launchpad.net/bugs/1951822
[ Upstream commit 72de799aa9e3e064b35238ef053d2f0a49db055a ]

The buffer pointed to by event is not freed in case
ATH11K_FLAG_UNREGISTERING bit is set, resulting in
memory leak, so fix it.

Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-01720.1-QCAHSPSWPL_V1_V2_SILICONZ_LITE-1

Fixes: d5c65159f289 ("ath11k: driver for Qualcomm IEEE 802.11ax devices")
Signed-off-by: Baochen Qiang <bqiang@codeaurora.org>
Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20210913180246.193388-4-jouni@codeaurora.org
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
drivers/net/wireless/ath/ath11k/qmi.c

index b5e34d670715e73e07c79f2f13dbd0c0ae4ceb0e..4c5071b7d11dc69b8724dcd442742d9ff394620b 100644 (file)
@@ -2707,8 +2707,10 @@ static void ath11k_qmi_driver_event_work(struct work_struct *work)
                list_del(&event->list);
                spin_unlock(&qmi->event_lock);
 
-               if (test_bit(ATH11K_FLAG_UNREGISTERING, &ab->dev_flags))
+               if (test_bit(ATH11K_FLAG_UNREGISTERING, &ab->dev_flags)) {
+                       kfree(event);
                        return;
+               }
 
                switch (event->type) {
                case ATH11K_QMI_EVENT_SERVER_ARRIVE: