Re: [PATCH net] net: wwan: iosm: Fix memory leak in ipc_mux_deinit()
From: Loic Poulain
Date: Tue Dec 30 2025 - 03:31:52 EST
On Tue, Dec 30, 2025 at 8:19 AM Zilin Guan <zilin@xxxxxxxxxx> wrote:
>
> 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@xxxxxxxxxx>
> Signed-off-by: Jianhao Xu <jianhao.xu@xxxxxxxxxx>
> Signed-off-by: Zilin Guan <zilin@xxxxxxxxxx>
Reviewed-by: Loic Poulain <loic.poulain@xxxxxxxxxxxxxxxx>
> ---
> drivers/net/wwan/iosm/iosm_ipc_mux.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/drivers/net/wwan/iosm/iosm_ipc_mux.c b/drivers/net/wwan/iosm/iosm_ipc_mux.c
> index fc928b298a98..b846889fcb09 100644
> --- a/drivers/net/wwan/iosm/iosm_ipc_mux.c
> +++ b/drivers/net/wwan/iosm/iosm_ipc_mux.c
> @@ -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);
> }
> --
> 2.34.1
>