[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87r392z4ox.fsf@kamboji.qca.qualcomm.com>
Date: Fri, 2 Sep 2016 15:45:09 +0000
From: "Valo, Kalle" <kvalo@....qualcomm.com>
To: Colin King <colin.king@...onical.com>
CC: "ath10k@...ts.infradead.org" <ath10k@...ts.infradead.org>,
"linux-wireless@...r.kernel.org" <linux-wireless@...r.kernel.org>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] ath10k: fix memory leak on caldata on error exit path
Colin King <colin.king@...onical.com> writes:
> From: Colin Ian King <colin.king@...onical.com>
>
> caldata is not being free'd on the error exit path, causing
> a memory leak. kfree it to fix the leak.
>
> Signed-off-by: Colin Ian King <colin.king@...onical.com>
> ---
> drivers/net/wireless/ath/ath10k/pci.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/net/wireless/ath/ath10k/pci.c b/drivers/net/wireless/ath/ath10k/pci.c
> index 9a22c47..886337c 100644
> --- a/drivers/net/wireless/ath/ath10k/pci.c
> +++ b/drivers/net/wireless/ath/ath10k/pci.c
> @@ -2725,6 +2725,7 @@ static int ath10k_pci_hif_fetch_cal_eeprom(struct ath10k *ar, void **data,
> return 0;
>
> err_free:
> + kfree(caldata);
> kfree(data);
>
> return -EINVAL;
I don't think we should free data at all:
static int ath10k_download_cal_eeprom(struct ath10k *ar)
{
size_t data_len;
void *data = NULL;
int ret;
ret = ath10k_hif_fetch_cal_eeprom(ar, &data, &data_len);
Instead we should free only caldata, right?
--
Kalle Valo
Powered by blists - more mailing lists