Loading
ath10k: Remove msdu from idr when management pkt send fails
stable inclusion from stable-v4.19.129 commit 2bc8b1816cf4908ae0a04c3e87e167d2dcb60f38 category: bugfix bugzilla: https://gitee.com/src-openeuler/kernel/issues/IB37AQ CVE: CVE-2024-50236 Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=2bc8b1816cf4908ae0a04c3e87e167d2dcb60f38 -------------------------------- [ Upstream commit c730c477 ] Currently when the sending of any management pkt via wmi command fails, the packet is being unmapped freed in the error handling. But the idr entry added, which is used to track these packet is not getting removed. Hence, during unload, in wmi cleanup, all the entries in IDR are removed and the corresponding buffer is attempted to be freed. This can cause a situation where one packet is attempted to be freed twice. Fix this error by rmeoving the msdu from the idr list when the sending of a management packet over wmi fails. Tested HW: WCN3990 Tested FW: WLAN.HL.3.1-01040-QCAHLSWMTPLZ-1 Fixes: 1807da49 ("ath10k: wmi: add management tx by reference support over wmi") Signed-off-by:Rakesh Pillai <pillair@codeaurora.org> Signed-off-by:
Kalle Valo <kvalo@codeaurora.org> Link: https://lore.kernel.org/r/1588667015-25490-1-git-send-email-pillair@codeaurora.org Signed-off-by:
Sasha Levin <sashal@kernel.org> Signed-off-by:
Wang Liang <wangliang74@huawei.com>