[PATCH] wifi: ath12k: fix potential memory leak in ath12k_wow_arp_ns_offload()

Abdun Nihaal posted 1 patch 3 months, 1 week ago
drivers/net/wireless/ath/ath12k/wow.c | 1 +
1 file changed, 1 insertion(+)
[PATCH] wifi: ath12k: fix potential memory leak in ath12k_wow_arp_ns_offload()
Posted by Abdun Nihaal 3 months, 1 week ago
When the call to ath12k_wmi_arp_ns_offload() fails, the temporary memory
allocation for offload is not freed before returning. Fix that by
freeing offload in the error path.

Fixes: 1666108c74c4 ("wifi: ath12k: support ARP and NS offload")
Signed-off-by: Abdun Nihaal <nihaal@cse.iitm.ac.in>
---
Compile tested only. Issue found using static analysis.

 drivers/net/wireless/ath/ath12k/wow.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/wireless/ath/ath12k/wow.c b/drivers/net/wireless/ath/ath12k/wow.c
index dce9bd0bcaef..e8481626f194 100644
--- a/drivers/net/wireless/ath/ath12k/wow.c
+++ b/drivers/net/wireless/ath/ath12k/wow.c
@@ -758,6 +758,7 @@ static int ath12k_wow_arp_ns_offload(struct ath12k *ar, bool enable)
 		if (ret) {
 			ath12k_warn(ar->ab, "failed to set arp ns offload vdev %i: enable %d, ret %d\n",
 				    arvif->vdev_id, enable, ret);
+			kfree(offload);
 			return ret;
 		}
 	}
-- 
2.43.0
Re: [PATCH] wifi: ath12k: fix potential memory leak in ath12k_wow_arp_ns_offload()
Posted by Jeff Johnson 3 months, 1 week ago
On Tue, 28 Oct 2025 22:34:55 +0530, Abdun Nihaal wrote:
> When the call to ath12k_wmi_arp_ns_offload() fails, the temporary memory
> allocation for offload is not freed before returning. Fix that by
> freeing offload in the error path.
> 
> 

Applied, thanks!

[1/1] wifi: ath12k: fix potential memory leak in ath12k_wow_arp_ns_offload()
      commit: be5febd51c478bc8e24ad3480435f2754a403b14

Best regards,
-- 
Jeff Johnson <jeff.johnson@oss.qualcomm.com>
Re: [PATCH] wifi: ath12k: fix potential memory leak in ath12k_wow_arp_ns_offload()
Posted by Baochen Qiang 3 months, 1 week ago

On 10/29/2025 1:04 AM, Abdun Nihaal wrote:
> When the call to ath12k_wmi_arp_ns_offload() fails, the temporary memory
> allocation for offload is not freed before returning. Fix that by
> freeing offload in the error path.
> 
> Fixes: 1666108c74c4 ("wifi: ath12k: support ARP and NS offload")
> Signed-off-by: Abdun Nihaal <nihaal@cse.iitm.ac.in>
> ---
> Compile tested only. Issue found using static analysis.
> 
>  drivers/net/wireless/ath/ath12k/wow.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/net/wireless/ath/ath12k/wow.c b/drivers/net/wireless/ath/ath12k/wow.c
> index dce9bd0bcaef..e8481626f194 100644
> --- a/drivers/net/wireless/ath/ath12k/wow.c
> +++ b/drivers/net/wireless/ath/ath12k/wow.c
> @@ -758,6 +758,7 @@ static int ath12k_wow_arp_ns_offload(struct ath12k *ar, bool enable)
>  		if (ret) {
>  			ath12k_warn(ar->ab, "failed to set arp ns offload vdev %i: enable %d, ret %d\n",
>  				    arvif->vdev_id, enable, ret);
> +			kfree(offload);
>  			return ret;
>  		}
>  	}

Reviewed-by: Baochen Qiang <baochen.qiang@oss.qualcomm.com>