2023-12-27 07:03:39

by Dinghao Liu

[permalink] [raw]
Subject: [PATCH] net/qla3xxx: fix potential memleak in ql_alloc_buffer_queues

When dma_alloc_coherent() fails, we should free qdev->lrg_buf
to prevent potential memleak.

Fixes: 1357bfcf7106 ("qla3xxx: Dynamically size the rx buffer queue based on the MTU.")
Signed-off-by: Dinghao Liu <[email protected]>
---
drivers/net/ethernet/qlogic/qla3xxx.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/net/ethernet/qlogic/qla3xxx.c b/drivers/net/ethernet/qlogic/qla3xxx.c
index 0d57ffcedf0c..fc78bc959ded 100644
--- a/drivers/net/ethernet/qlogic/qla3xxx.c
+++ b/drivers/net/ethernet/qlogic/qla3xxx.c
@@ -2591,6 +2591,7 @@ static int ql_alloc_buffer_queues(struct ql3_adapter *qdev)

if (qdev->lrg_buf_q_alloc_virt_addr == NULL) {
netdev_err(qdev->ndev, "lBufQ failed\n");
+ kfree(qdev->lrg_buf);
return -ENOMEM;
}
qdev->lrg_buf_q_virt_addr = qdev->lrg_buf_q_alloc_virt_addr;
@@ -2615,6 +2616,7 @@ static int ql_alloc_buffer_queues(struct ql3_adapter *qdev)
qdev->lrg_buf_q_alloc_size,
qdev->lrg_buf_q_alloc_virt_addr,
qdev->lrg_buf_q_alloc_phy_addr);
+ kfree(qdev->lrg_buf);
return -ENOMEM;
}

--
2.17.1



2024-01-04 01:01:14

by patchwork-bot+netdevbpf

[permalink] [raw]
Subject: Re: [PATCH] net/qla3xxx: fix potential memleak in ql_alloc_buffer_queues

Hello:

This patch was applied to netdev/net.git (main)
by Jakub Kicinski <[email protected]>:

On Wed, 27 Dec 2023 15:02:27 +0800 you wrote:
> When dma_alloc_coherent() fails, we should free qdev->lrg_buf
> to prevent potential memleak.
>
> Fixes: 1357bfcf7106 ("qla3xxx: Dynamically size the rx buffer queue based on the MTU.")
> Signed-off-by: Dinghao Liu <[email protected]>
> ---
> drivers/net/ethernet/qlogic/qla3xxx.c | 2 ++
> 1 file changed, 2 insertions(+)

Here is the summary with links:
- net/qla3xxx: fix potential memleak in ql_alloc_buffer_queues
https://git.kernel.org/netdev/net/c/89f45c30172c

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html