diff mbox series

libertas: fix memory leak in lbs_init_adapter()

Message ID 20221208121448.2845986-1-shaozhengchao@huawei.com
State New
Headers show
Series libertas: fix memory leak in lbs_init_adapter() | expand

Commit Message

shaozhengchao Dec. 8, 2022, 12:14 p.m. UTC
When kfifo_alloc() failed in lbs_init_adapter(), cmd buffer is not
released. Add free memory to processing error path.

Fixes: 7919b89c8276 ("libertas: convert libertas driver to use an event/cmdresp queue")
Signed-off-by: Zhengchao Shao <shaozhengchao@huawei.com>
---
 drivers/net/wireless/marvell/libertas/main.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Jiri Pirko Dec. 8, 2022, 12:52 p.m. UTC | #1
Thu, Dec 08, 2022 at 01:14:48PM CET, shaozhengchao@huawei.com wrote:
>When kfifo_alloc() failed in lbs_init_adapter(), cmd buffer is not
>released. Add free memory to processing error path.
>
>Fixes: 7919b89c8276 ("libertas: convert libertas driver to use an event/cmdresp queue")
>Signed-off-by: Zhengchao Shao <shaozhengchao@huawei.com>

Reviewed-by: Jiri Pirko <jiri@nvidia.com>
Kalle Valo Dec. 14, 2022, 12:22 p.m. UTC | #2
Zhengchao Shao <shaozhengchao@huawei.com> wrote:

> When kfifo_alloc() failed in lbs_init_adapter(), cmd buffer is not
> released. Add free memory to processing error path.
> 
> Fixes: 7919b89c8276 ("libertas: convert libertas driver to use an event/cmdresp queue")
> Signed-off-by: Zhengchao Shao <shaozhengchao@huawei.com>
> Reviewed-by: Jiri Pirko <jiri@nvidia.com>

Patch applied to wireless-next.git, thanks.

16a03958618f wifi: libertas: fix memory leak in lbs_init_adapter()
Info Skymem Dec. 30, 2022, 1:02 a.m. UTC | #3
Hi,
thank you for your information.

On our website you can find email addresses of companies and people.
https://www.skymem.info

In short, it’s like Google for emails.

Best regards,
Robert,
Skymem team

On Wed, Dec 14, 2022 at 1:23 PM Kalle Valo <kvalo@kernel.org> wrote:
>
> Zhengchao Shao <shaozhengchao@huawei.com> wrote:
>
> > When kfifo_alloc() failed in lbs_init_adapter(), cmd buffer is not
> > released. Add free memory to processing error path.
> >
> > Fixes: 7919b89c8276 ("libertas: convert libertas driver to use an event/cmdresp queue")
> > Signed-off-by: Zhengchao Shao <shaozhengchao@huawei.com>
> > Reviewed-by: Jiri Pirko <jiri@nvidia.com>
>
> Patch applied to wireless-next.git, thanks.
>
> 16a03958618f wifi: libertas: fix memory leak in lbs_init_adapter()
>
> --
> https://patchwork.kernel.org/project/linux-wireless/patch/20221208121448.2845986-1-shaozhengchao@huawei.com/
>
> https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
>
>
> _______________________________________________
> libertas-dev mailing list
> libertas-dev@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/libertas-dev
diff mbox series

Patch

diff --git a/drivers/net/wireless/marvell/libertas/main.c b/drivers/net/wireless/marvell/libertas/main.c
index 8f5220cee112..ae975304cfcf 100644
--- a/drivers/net/wireless/marvell/libertas/main.c
+++ b/drivers/net/wireless/marvell/libertas/main.c
@@ -869,6 +869,7 @@  static int lbs_init_adapter(struct lbs_private *priv)
 	ret = kfifo_alloc(&priv->event_fifo, sizeof(u32) * 16, GFP_KERNEL);
 	if (ret) {
 		pr_err("Out of memory allocating event FIFO buffer\n");
+		lbs_free_cmd_buffer(priv);
 		goto out;
 	}