Re: [PATCH v2 1/2] net: mana: Fix memory leak in mana_gd_setup_irqs

Michal Swiatkowski
2024-12-10T06:17:08Z

On Mon, Dec 09, 2024 at 12:57:50PM -0500, Maxim Levitsky wrote:
> Commit 8afefc361209 ("net: mana: Assigning IRQ affinity on HT cores")
> added memory allocation in mana_gd_setup_irqs of 'irqs' but the code
> doesn't free this temporary array in the success path.
>
> This was caught by kmemleak.
>
> Fixes: 8afefc361209 ("net: mana: Assigning IRQ affinity on HT cores")
> Signed-off-by: Maxim Levitsky <mlevitsk@redhat.com>
> ---
> drivers/net/ethernet/microsoft/mana/gdma_main.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/net/ethernet/microsoft/mana/gdma_main.c b/drivers/net/ethernet/microsoft/mana/gdma_main.c
> index e97af7ac2bb2..aba188f9f10f 100644
> --- a/drivers/net/ethernet/microsoft/mana/gdma_main.c
> +++ b/drivers/net/ethernet/microsoft/mana/gdma_main.c
> @@ -1375,6 +1375,7 @@ static int mana_gd_setup_irqs(struct pci_dev *pdev)
> gc->max_num_msix = nvec;
> gc->num_msix_usable = nvec;
> cpus_read_unlock();
> + kfree(irqs);

Ther is still memleak in case of jumping to free_irq_vector when
gc->irq_contexts allocation is failing.

Thanks
> return 0;
>
> free_irq:
> --
> 2.26.3