Message ID | de2bb89d2c9c49198353c3d66fa9b67ce6c0f191.1684177731.git.christophe.jaillet@wanadoo.fr (mailing list archive) |
---|---|
State | Accepted |
Commit | 412cd77a2c24b191c65ea53025222418db09817c |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | cassini: Fix a memory leak in the error handling path of cas_init_one() | expand |
On Tue, May 16, 2023 at 12:39 AM Christophe JAILLET <christophe.jaillet@wanadoo.fr> wrote: > > cas_saturn_firmware_init() allocates some memory using vmalloc(). This > memory is freed in the .remove() function but not it the error handling > path of the probe. > > Add the missing vfree() to avoid a memory leak, should an error occur. > > Fixes: fcaa40669cd7 ("cassini: use request_firmware") > Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> > --- > drivers/net/ethernet/sun/cassini.c | 2 ++ > 1 file changed, 2 insertions(+) > Looks good to me, though patch could have "net" in the subject. Reviewed-by: Pavan Chebbi <pavan.chebbi@broadcom.com> > diff --git a/drivers/net/ethernet/sun/cassini.c b/drivers/net/ethernet/sun/cassini.c > index 2d52f54ebb45..b317b9486455 100644 > --- a/drivers/net/ethernet/sun/cassini.c > +++ b/drivers/net/ethernet/sun/cassini.c > @@ -5073,6 +5073,8 @@ static int cas_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) > cas_shutdown(cp); > mutex_unlock(&cp->pm_mutex); > > + vfree(cp->fw_data); > + > pci_iounmap(pdev, cp->regs); > > > -- > 2.34.1 > >
On Mon, May 15, 2023 at 09:09:11PM +0200, Christophe JAILLET wrote: > cas_saturn_firmware_init() allocates some memory using vmalloc(). This > memory is freed in the .remove() function but not it the error handling > path of the probe. > > Add the missing vfree() to avoid a memory leak, should an error occur. > > Fixes: fcaa40669cd7 ("cassini: use request_firmware") > Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> Reviewed-by: Simon Horman <simon.horman@corigine.com>
Hello: This patch was applied to netdev/net.git (main) by David S. Miller <davem@davemloft.net>: On Mon, 15 May 2023 21:09:11 +0200 you wrote: > cas_saturn_firmware_init() allocates some memory using vmalloc(). This > memory is freed in the .remove() function but not it the error handling > path of the probe. > > Add the missing vfree() to avoid a memory leak, should an error occur. > > Fixes: fcaa40669cd7 ("cassini: use request_firmware") > Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> > > [...] Here is the summary with links: - cassini: Fix a memory leak in the error handling path of cas_init_one() https://git.kernel.org/netdev/net/c/412cd77a2c24 You are awesome, thank you!
diff --git a/drivers/net/ethernet/sun/cassini.c b/drivers/net/ethernet/sun/cassini.c index 2d52f54ebb45..b317b9486455 100644 --- a/drivers/net/ethernet/sun/cassini.c +++ b/drivers/net/ethernet/sun/cassini.c @@ -5073,6 +5073,8 @@ static int cas_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) cas_shutdown(cp); mutex_unlock(&cp->pm_mutex); + vfree(cp->fw_data); + pci_iounmap(pdev, cp->regs);
cas_saturn_firmware_init() allocates some memory using vmalloc(). This memory is freed in the .remove() function but not it the error handling path of the probe. Add the missing vfree() to avoid a memory leak, should an error occur. Fixes: fcaa40669cd7 ("cassini: use request_firmware") Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> --- drivers/net/ethernet/sun/cassini.c | 2 ++ 1 file changed, 2 insertions(+)