]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
net: wwan: iosm: Fix memory leak in ipc_mux_deinit()
authorZilin Guan <zilin@seu.edu.cn>
Tue, 30 Dec 2025 07:18:53 +0000 (07:18 +0000)
committerJakub Kicinski <kuba@kernel.org>
Sun, 4 Jan 2026 18:46:38 +0000 (10:46 -0800)
Commit 1f52d7b62285 ("net: wwan: iosm: Enable M.2 7360 WWAN card support")
allocated memory for pp_qlt in ipc_mux_init() but did not free it in
ipc_mux_deinit(). This results in a memory leak when the driver is
unloaded.

Free the allocated memory in ipc_mux_deinit() to fix the leak.

Fixes: 1f52d7b62285 ("net: wwan: iosm: Enable M.2 7360 WWAN card support")
Co-developed-by: Jianhao Xu <jianhao.xu@seu.edu.cn>
Signed-off-by: Jianhao Xu <jianhao.xu@seu.edu.cn>
Signed-off-by: Zilin Guan <zilin@seu.edu.cn>
Reviewed-by: Loic Poulain <loic.poulain@oss.qualcomm.com>
Link: https://patch.msgid.link/20251230071853.1062223-1-zilin@seu.edu.cn
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/wwan/iosm/iosm_ipc_mux.c

index fc928b298a984010ed955934a5ec1b88833e567b..b846889fcb09978f12778981a9c23fe435956d31 100644 (file)
@@ -456,6 +456,7 @@ void ipc_mux_deinit(struct iosm_mux *ipc_mux)
        struct sk_buff_head *free_list;
        union mux_msg mux_msg;
        struct sk_buff *skb;
+       int i;
 
        if (!ipc_mux->initialized)
                return;
@@ -479,5 +480,10 @@ void ipc_mux_deinit(struct iosm_mux *ipc_mux)
                ipc_mux->channel->dl_pipe.is_open = false;
        }
 
+       if (ipc_mux->protocol != MUX_LITE) {
+               for (i = 0; i < IPC_MEM_MUX_IP_SESSION_ENTRIES; i++)
+                       kfree(ipc_mux->ul_adb.pp_qlt[i]);
+       }
+
        kfree(ipc_mux);
 }