Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1305801 > unrolled thread

[PATCH] b43: Fix a memory leak in b43_bus_dev_ssb_init

Started byJia-Ju Bai <baijiaju1990@163.com>
First post2016-01-11 04:40 +0100
Last post2016-01-11 17:50 +0100
Articles 3 — 3 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] b43: Fix a memory leak in b43_bus_dev_ssb_init Jia-Ju Bai <baijiaju1990@163.com> - 2016-01-11 04:40 +0100
    Re: [PATCH] b43: Fix a memory leak in b43_bus_dev_ssb_init Michael Büsch <m@bues.ch> - 2016-01-11 17:50 +0100
    Re: [PATCH] b43: Fix a memory leak in b43_bus_dev_ssb_init Rafał Miłecki <zajec5@gmail.com> - 2016-01-11 17:50 +0100

#1305801 — [PATCH] b43: Fix a memory leak in b43_bus_dev_ssb_init

FromJia-Ju Bai <baijiaju1990@163.com>
Date2016-01-11 04:40 +0100
Subject[PATCH] b43: Fix a memory leak in b43_bus_dev_ssb_init
Message-ID<qPBuO-58D-5@gated-at.bofh.it>
The memory allocated by kzalloc in b43_bus_dev_ssb_init is not freed.
This patch fixes the bug by adding kfree in b43_ssb_remove.

Signed-off-by: Jia-Ju Bai <baijiaju1990@163.com>
---
 drivers/net/wireless/b43/main.c |    1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c
index ec013fb..6d251a0 100644
--- a/drivers/net/wireless/b43/main.c
+++ b/drivers/net/wireless/b43/main.c
@@ -5798,6 +5798,7 @@ static void b43_ssb_remove(struct ssb_device *sdev)
 
 	b43_leds_unregister(wl);
 	b43_wireless_exit(dev, wl);
+	kfree(dev);
 }
 
 static struct ssb_driver b43_ssb_driver = {
-- 
1.7.9.5

[toc] | [next] | [standalone]


#1306495

FromMichael Büsch <m@bues.ch>
Date2016-01-11 17:50 +0100
Message-ID<qPNPl-4ZY-19@gated-at.bofh.it>
In reply to#1305801

[Multipart message — attachments visible in raw view] — view raw

On Mon, 11 Jan 2016 11:37:36 +0800
Jia-Ju Bai <baijiaju1990@163.com> wrote:

> The memory allocated by kzalloc in b43_bus_dev_ssb_init is not freed.
> This patch fixes the bug by adding kfree in b43_ssb_remove.
> 
> Signed-off-by: Jia-Ju Bai <baijiaju1990@163.com>
> ---
>  drivers/net/wireless/b43/main.c |    1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c
> index ec013fb..6d251a0 100644
> --- a/drivers/net/wireless/b43/main.c
> +++ b/drivers/net/wireless/b43/main.c
> @@ -5798,6 +5798,7 @@ static void b43_ssb_remove(struct ssb_device *sdev)
>  
>  	b43_leds_unregister(wl);
>  	b43_wireless_exit(dev, wl);
> +	kfree(dev);
>  }
>  
>  static struct ssb_driver b43_ssb_driver = {



Nice catch.
The kfree is also missing in b43_bcma_remove().
And also in the error paths of b43_bcma_probe().

Can you please extend the patch to cover these, too?

-- 
Michael

[toc] | [prev] | [next] | [standalone]


#1306503

FromRafał Miłecki <zajec5@gmail.com>
Date2016-01-11 17:50 +0100
Message-ID<qPNPm-4ZY-55@gated-at.bofh.it>
In reply to#1305801
On 11 January 2016 at 04:37, Jia-Ju Bai <baijiaju1990@163.com> wrote:
> The memory allocated by kzalloc in b43_bus_dev_ssb_init is not freed.
> This patch fixes the bug by adding kfree in b43_ssb_remove.

Nice. If you want somethig more to scratch your head, see
"Missing b43 firmware handling"
http://lists.infradead.org/pipermail/b43-dev/2014-June/003467.html

-- 
Rafał

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web