Message ID | 20211208223723.18520-1-jose.exposito89@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | net: mana: Fix memory leak in mana_hwc_create_wq | expand |
> From: José Expósito <jose.exposito89@gmail.com> > Sent: Wednesday, December 8, 2021 2:37 PM > > If allocating the DMA buffer fails, mana_hwc_destroy_wq was called > without previously storing the pointer to the queue. > > In order to avoid leaking the pointer to the queue, store it as soon as > it is allocated. > > Addresses-Coverity-ID: 1484720 ("Resource leak") > Signed-off-by: José Expósito <jose.exposito89@gmail.com> Reviewed-by: Dexuan Cui <decui@microsoft.com>
Hello: This patch was applied to netdev/net.git (master) by Jakub Kicinski <kuba@kernel.org>: On Wed, 8 Dec 2021 23:37:23 +0100 you wrote: > If allocating the DMA buffer fails, mana_hwc_destroy_wq was called > without previously storing the pointer to the queue. > > In order to avoid leaking the pointer to the queue, store it as soon as > it is allocated. > > Addresses-Coverity-ID: 1484720 ("Resource leak") > Signed-off-by: José Expósito <jose.exposito89@gmail.com> > > [...] Here is the summary with links: - net: mana: Fix memory leak in mana_hwc_create_wq https://git.kernel.org/netdev/net/c/9acfc57fa2b8 You are awesome, thank you!
diff --git a/drivers/net/ethernet/microsoft/mana/hw_channel.c b/drivers/net/ethernet/microsoft/mana/hw_channel.c index 34b971ff8ef8..078d6a5a0768 100644 --- a/drivers/net/ethernet/microsoft/mana/hw_channel.c +++ b/drivers/net/ethernet/microsoft/mana/hw_channel.c @@ -480,16 +480,16 @@ static int mana_hwc_create_wq(struct hw_channel_context *hwc, if (err) goto out; - err = mana_hwc_alloc_dma_buf(hwc, q_depth, max_msg_size, - &hwc_wq->msg_buf); - if (err) - goto out; - hwc_wq->hwc = hwc; hwc_wq->gdma_wq = queue; hwc_wq->queue_depth = q_depth; hwc_wq->hwc_cq = hwc_cq; + err = mana_hwc_alloc_dma_buf(hwc, q_depth, max_msg_size, + &hwc_wq->msg_buf); + if (err) + goto out; + *hwc_wq_ptr = hwc_wq; return 0; out:
If allocating the DMA buffer fails, mana_hwc_destroy_wq was called without previously storing the pointer to the queue. In order to avoid leaking the pointer to the queue, store it as soon as it is allocated. Addresses-Coverity-ID: 1484720 ("Resource leak") Signed-off-by: José Expósito <jose.exposito89@gmail.com> --- drivers/net/ethernet/microsoft/mana/hw_channel.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-)