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
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
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
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
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
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