Jianglei Nie <niejianglei2021@xxxxxxx> wrote: > mhi_alloc_controller() allocates a memory space for mhi_ctrl. When some > errors occur, mhi_ctrl should be freed by mhi_free_controller() and set > ab_pci->mhi_ctrl = NULL because ab_pci->mhi_ctrl has a dangling pointer > to the freed memory. But when ath11k_mhi_read_addr_from_dt() fails, the > function returns without calling mhi_free_controller(), which will lead > to a memory leak. > > We can fix it by calling mhi_free_controller() when > ath11k_mhi_read_addr_from_dt() fails and set ab_pci->mhi_ctrl = NULL in > all of the places where we call mhi_free_controller(). > > Signed-off-by: Jianglei Nie <niejianglei2021@xxxxxxx> Fails to apply, please rebase on top of ath.git master branch: https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/ error: patch failed: drivers/net/wireless/ath/ath11k/mhi.c:367 error: drivers/net/wireless/ath/ath11k/mhi.c: patch does not apply stg import: Diff does not apply cleanly Patch set to Changes Requested. -- https://patchwork.kernel.org/project/linux-wireless/patch/20220530080610.143925-1-niejianglei2021@xxxxxxx/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches