2016-01-07 12:17:41

by Jia-Ju Bai

[permalink] [raw]
Subject: [PATCH] iwl4965: Fix a memory leak in error handling code of __il4965_up

When il4965_hw_nic_init in __il4965_up fails, the memory allocated by
iwl4965_sta_alloc_lq in iwl4965_alloc_bcast_station is not freed.

This patches adds il_dealloc_bcast_stations in the error handling code of
__il4965_up to fix this problem.

This patch has been tested in real device, and it actually fixes the bug.

Signed-off-by: Jia-Ju Bai <[email protected]>
---
drivers/net/wireless/iwlegacy/4965-mac.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/net/wireless/iwlegacy/4965-mac.c b/drivers/net/wireless/iwlegacy/4965-mac.c
index 6656215..fd7b5c7 100644
--- a/drivers/net/wireless/iwlegacy/4965-mac.c
+++ b/drivers/net/wireless/iwlegacy/4965-mac.c
@@ -5577,6 +5577,7 @@ __il4965_up(struct il_priv *il)
ret = il4965_hw_nic_init(il);
if (ret) {
IL_ERR("Unable to init nic\n");
+ il_dealloc_bcast_stations(il);
return ret;
}

--
1.7.9.5




2016-01-11 12:15:34

by Stanislaw Gruszka

[permalink] [raw]
Subject: Re: [PATCH] iwl4965: Fix a memory leak in error handling code of __il4965_up

On Thu, Jan 07, 2016 at 08:17:39PM +0800, Jia-Ju Bai wrote:
> When il4965_hw_nic_init in __il4965_up fails, the memory allocated by
> iwl4965_sta_alloc_lq in iwl4965_alloc_bcast_station is not freed.
>
> This patches adds il_dealloc_bcast_stations in the error handling code of
> __il4965_up to fix this problem.
>
> This patch has been tested in real device, and it actually fixes the bug.
>
> Signed-off-by: Jia-Ju Bai <[email protected]>

Acked-by: Stanislaw Gruszka <[email protected]>