Message ID | 20241209175751.287738-3-mlevitsk@redhat.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | MANA: Fix few memory leaks in mana_gd_setup_irqs | expand |
On Mon, Dec 09, 2024 at 12:57:51PM -0500, Maxim Levitsky wrote: > gc->irq_contexts is not freeded if one of the later operations > fail. > > Suggested-by: Michael Kelley <mhklinux@outlook.com> > 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 | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/ethernet/microsoft/mana/gdma_main.c b/drivers/net/ethernet/microsoft/mana/gdma_main.c > index aba188f9f10f..6297c0869cd6 100644 > --- a/drivers/net/ethernet/microsoft/mana/gdma_main.c > +++ b/drivers/net/ethernet/microsoft/mana/gdma_main.c > @@ -1318,7 +1318,7 @@ static int mana_gd_setup_irqs(struct pci_dev *pdev) > GFP_KERNEL); > if (!gc->irq_contexts) { > err = -ENOMEM; > - goto free_irq_vector; > + goto free_irq_array; > } > > for (i = 0; i < nvec; i++) { > @@ -1388,8 +1388,9 @@ static int mana_gd_setup_irqs(struct pci_dev *pdev) > } > > kfree(gc->irq_contexts); > - kfree(irqs); > gc->irq_contexts = NULL; > +free_irq_array: > + kfree(irqs); > free_irq_vector: > cpus_read_unlock(); > pci_free_irq_vectors(pdev); Reviewed-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com> > -- > 2.26.3
On Mon, Dec 9, 2024 at 11:29 PM Maxim Levitsky <mlevitsk@redhat.com> wrote: > > gc->irq_contexts is not freeded if one of the later operations > fail. > > Suggested-by: Michael Kelley <mhklinux@outlook.com> > Fixes: 8afefc361209 ("net: mana: Assigning IRQ affinity on HT cores") > Signed-off-by: Maxim Levitsky <mlevitsk@redhat.com> LGTM Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
diff --git a/drivers/net/ethernet/microsoft/mana/gdma_main.c b/drivers/net/ethernet/microsoft/mana/gdma_main.c index aba188f9f10f..6297c0869cd6 100644 --- a/drivers/net/ethernet/microsoft/mana/gdma_main.c +++ b/drivers/net/ethernet/microsoft/mana/gdma_main.c @@ -1318,7 +1318,7 @@ static int mana_gd_setup_irqs(struct pci_dev *pdev) GFP_KERNEL); if (!gc->irq_contexts) { err = -ENOMEM; - goto free_irq_vector; + goto free_irq_array; } for (i = 0; i < nvec; i++) { @@ -1388,8 +1388,9 @@ static int mana_gd_setup_irqs(struct pci_dev *pdev) } kfree(gc->irq_contexts); - kfree(irqs); gc->irq_contexts = NULL; +free_irq_array: + kfree(irqs); free_irq_vector: cpus_read_unlock(); pci_free_irq_vectors(pdev);
gc->irq_contexts is not freeded if one of the later operations fail. Suggested-by: Michael Kelley <mhklinux@outlook.com> 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 | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)