2023-01-02 08:21:02

by Miaoqian Lin

[permalink] [raw]
Subject: [PATCH v2] wifi: ath11k: Fix memory leak in ath11k_peer_rx_frag_setup

crypto_alloc_shash() allocates resources, which should be released by
crypto_free_shash(). When ath11k_peer_find() fails, there has memory
leak. Add missing crypto_free_shash() to fix this.

Fixes: 243874c64c81 ("ath11k: handle RX fragments")
Signed-off-by: Miaoqian Lin <[email protected]>
---
change in v2:
- add crypto_free_shash() in the error path instead of move
crypto_alloc_shash().
---
drivers/net/wireless/ath/ath11k/dp_rx.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/net/wireless/ath/ath11k/dp_rx.c b/drivers/net/wireless/ath/ath11k/dp_rx.c
index c5a4c34d7749..0c53d88293eb 100644
--- a/drivers/net/wireless/ath/ath11k/dp_rx.c
+++ b/drivers/net/wireless/ath/ath11k/dp_rx.c
@@ -3126,6 +3126,7 @@ int ath11k_peer_rx_frag_setup(struct ath11k *ar, const u8 *peer_mac, int vdev_id
if (!peer) {
ath11k_warn(ab, "failed to find the peer to set up fragment info\n");
spin_unlock_bh(&ab->base_lock);
+ crypto_free_shash(tfm);
return -ENOENT;
}

--
2.25.1


2023-01-03 09:46:25

by Leon Romanovsky

[permalink] [raw]
Subject: Re: [PATCH v2] wifi: ath11k: Fix memory leak in ath11k_peer_rx_frag_setup

On Mon, Jan 02, 2023 at 12:11:42PM +0400, Miaoqian Lin wrote:
> crypto_alloc_shash() allocates resources, which should be released by
> crypto_free_shash(). When ath11k_peer_find() fails, there has memory
> leak. Add missing crypto_free_shash() to fix this.
>
> Fixes: 243874c64c81 ("ath11k: handle RX fragments")
> Signed-off-by: Miaoqian Lin <[email protected]>
> ---
> change in v2:
> - add crypto_free_shash() in the error path instead of move
> crypto_alloc_shash().
> ---
> drivers/net/wireless/ath/ath11k/dp_rx.c | 1 +
> 1 file changed, 1 insertion(+)
>

Thanks,
Reviewed-by: Leon Romanovsky <[email protected]>

2023-01-18 07:32:46

by Kalle Valo

[permalink] [raw]
Subject: Re: [PATCH v2] wifi: ath11k: Fix memory leak in ath11k_peer_rx_frag_setup

Miaoqian Lin <[email protected]> wrote:

> crypto_alloc_shash() allocates resources, which should be released by
> crypto_free_shash(). When ath11k_peer_find() fails, there has memory
> leak. Add missing crypto_free_shash() to fix this.
>
> Fixes: 243874c64c81 ("ath11k: handle RX fragments")
> Signed-off-by: Miaoqian Lin <[email protected]>
> Reviewed-by: Leon Romanovsky <[email protected]>
> Signed-off-by: Kalle Valo <[email protected]>

Patch applied to ath-next branch of ath.git, thanks.

ed3f83b3459a wifi: ath11k: Fix memory leak in ath11k_peer_rx_frag_setup

--
https://patchwork.kernel.org/project/linux-wireless/patch/[email protected]/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches