2016-01-16 13:08:48

by Jia-Ju Bai

[permalink] [raw]
Subject: [PATCH v2 resend] b43: Fix memory leaks in b43_bus_dev_ssb_init and b43_bus_dev_bcma_init

The memory allocated by kzalloc in b43_bus_dev_ssb_init and
b43_bus_dev_bcma_init is not freed.
This patch fixes the bug by adding kfree in b43_ssb_remove,
b43_bcma_remove and error handling code of b43_bcma_probe.

Thanks Michael for his suggestion.

Signed-off-by: Jia-Ju Bai <[email protected]>
---
drivers/net/wireless/b43/main.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c
index ec013fb..bbea769 100644
--- a/drivers/net/wireless/b43/main.c
+++ b/drivers/net/wireless/b43/main.c
@@ -5682,11 +5682,12 @@ static int b43_bcma_probe(struct bcma_device *core)
INIT_WORK(&wl->firmware_load, b43_request_firmware);
schedule_work(&wl->firmware_load);

-bcma_out:
return err;

bcma_err_wireless_exit:
ieee80211_free_hw(wl->hw);
+bcma_out:
+ kfree(dev);
return err;
}

@@ -5714,8 +5715,8 @@ static void b43_bcma_remove(struct bcma_device *core)
b43_rng_exit(wl);

b43_leds_unregister(wl);
-
ieee80211_free_hw(wl->hw);
+ kfree(wldev->dev);
}

static struct bcma_driver b43_bcma_driver = {
@@ -5798,6 +5799,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




2016-01-16 13:44:32

by Michael Büsch

[permalink] [raw]
Subject: Re: [PATCH v2 resend] b43: Fix memory leaks in b43_bus_dev_ssb_init and b43_bus_dev_bcma_init

On Sat, 16 Jan 2016 21:08:10 +0800
Jia-Ju Bai <[email protected]> wrote:

> The memory allocated by kzalloc in b43_bus_dev_ssb_init and
> b43_bus_dev_bcma_init is not freed.
> This patch fixes the bug by adding kfree in b43_ssb_remove,
> b43_bcma_remove and error handling code of b43_bcma_probe.
>
> Thanks Michael for his suggestion.
>
> Signed-off-by: Jia-Ju Bai <[email protected]>
> ---
> drivers/net/wireless/b43/main.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c
> index ec013fb..bbea769 100644
> --- a/drivers/net/wireless/b43/main.c
> +++ b/drivers/net/wireless/b43/main.c
> @@ -5682,11 +5682,12 @@ static int b43_bcma_probe(struct bcma_device *core)
> INIT_WORK(&wl->firmware_load, b43_request_firmware);
> schedule_work(&wl->firmware_load);
>
> -bcma_out:
> return err;
>
> bcma_err_wireless_exit:
> ieee80211_free_hw(wl->hw);
> +bcma_out:
> + kfree(dev);
> return err;
> }
>
> @@ -5714,8 +5715,8 @@ static void b43_bcma_remove(struct bcma_device *core)
> b43_rng_exit(wl);
>
> b43_leds_unregister(wl);
> -
> ieee80211_free_hw(wl->hw);
> + kfree(wldev->dev);
> }
>
> static struct bcma_driver b43_bcma_driver = {
> @@ -5798,6 +5799,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 = {


This still needs to be tested on both ssb and bcma devices. As long as
it's untested, there is no need to resend it to the maintainers.

--
Michael


Attachments:
(No filename) (819.00 B)
OpenPGP digital signature

2016-01-16 13:17:45

by Jia-Ju Bai

[permalink] [raw]
Subject: Re: [PATCH v2 resend] b43: Fix memory leaks in b43_bus_dev_ssb_init and b43_bus_dev_bcma_init

On 01/16/2016 09:13 PM, Michael B?sch wrote:
>
> This still needs to be tested on both ssb and bcma devices. As long as
> it's untested, there is no need to resend it to the maintainers.
>

Okay, thanks for the reply :)


Jia-Ju Bai


2016-03-14 06:15:39

by Kalle Valo

[permalink] [raw]
Subject: Re: [v2, resend] b43: Fix memory leaks in b43_bus_dev_ssb_init and b43_bus_dev_bcma_init

Michael Büsch <[email protected]> writes:

> On Fri, 11 Mar 2016 21:52:30 +0530
> Sudip Mukherjee <[email protected]> wrote:
>
>> On Sat, Jan 16, 2016 at 09:08:10PM +0800, Jia-Ju Bai wrote:
>> > The memory allocated by kzalloc in b43_bus_dev_ssb_init and
>> > b43_bus_dev_bcma_init is not freed.
>> > This patch fixes the bug by adding kfree in b43_ssb_remove,
>> > b43_bcma_remove and error handling code of b43_bcma_probe.
>> >
>> > Thanks Michael for his suggestion.
>> >
>> > Signed-off-by: Jia-Ju Bai <[email protected]>
>>
>> The patch did not apply cleanly. I had to edit the patch to point to
>> drivers/net/wireless/broadcom/b43/main.c
>>
>> For CONFIG_B43_SSB part-
>> Tested-by: Sudip Mukherjee <[email protected]>
>
>
> Ok thanks a lot.
> We possibly don't get an bcma tester anytime soon. As this is quite an
> important fix, we should probably apply it.
>
> Sudip, can you please update the patch so it applies cleanly on the
> current tree? You can add my acked-by if you want.
>
> Kalle, can you please apply it afterwards?

Will do.

--
Kalle Valo

2016-03-11 16:31:07

by Michael Büsch

[permalink] [raw]
Subject: Re: [v2, resend] b43: Fix memory leaks in b43_bus_dev_ssb_init and b43_bus_dev_bcma_init

On Fri, 11 Mar 2016 21:52:30 +0530
Sudip Mukherjee <[email protected]> wrote:

> On Sat, Jan 16, 2016 at 09:08:10PM +0800, Jia-Ju Bai wrote:
> > The memory allocated by kzalloc in b43_bus_dev_ssb_init and
> > b43_bus_dev_bcma_init is not freed.
> > This patch fixes the bug by adding kfree in b43_ssb_remove,
> > b43_bcma_remove and error handling code of b43_bcma_probe.
> >
> > Thanks Michael for his suggestion.
> >
> > Signed-off-by: Jia-Ju Bai <[email protected]>
>
> The patch did not apply cleanly. I had to edit the patch to point to
> drivers/net/wireless/broadcom/b43/main.c
>
> For CONFIG_B43_SSB part-
> Tested-by: Sudip Mukherjee <[email protected]>


Ok thanks a lot.
We possibly don't get an bcma tester anytime soon. As this is quite an
important fix, we should probably apply it.

Sudip, can you please update the patch so it applies cleanly on the
current tree? You can add my acked-by if you want.

Kalle, can you please apply it afterwards?

--
Michael


Attachments:
(No filename) (819.00 B)
OpenPGP digital signature

2016-03-11 16:22:44

by Sudip Mukherjee

[permalink] [raw]
Subject: Re: [v2, resend] b43: Fix memory leaks in b43_bus_dev_ssb_init and b43_bus_dev_bcma_init

On Sat, Jan 16, 2016 at 09:08:10PM +0800, Jia-Ju Bai wrote:
> The memory allocated by kzalloc in b43_bus_dev_ssb_init and
> b43_bus_dev_bcma_init is not freed.
> This patch fixes the bug by adding kfree in b43_ssb_remove,
> b43_bcma_remove and error handling code of b43_bcma_probe.
>
> Thanks Michael for his suggestion.
>
> Signed-off-by: Jia-Ju Bai <[email protected]>

The patch did not apply cleanly. I had to edit the patch to point to
drivers/net/wireless/broadcom/b43/main.c

For CONFIG_B43_SSB part-
Tested-by: Sudip Mukherjee <[email protected]>

regards
sudip