public inbox for netdev@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH net] net: fs_enet: add missing kfree in _remove
@ 2026-02-24  1:55 Rosen Penev
  2026-02-24  8:20 ` Christophe Leroy (CS GROUP)
  0 siblings, 1 reply; 4+ messages in thread
From: Rosen Penev @ 2026-02-24  1:55 UTC (permalink / raw)
  To: netdev
  Cc: Pantelis Antoniou, Andrew Lunn, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Russell King

The kfree is present in _probe on failure but not in remove.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
---
 drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c b/drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c
index d3c772ed5fc9..ee2b7e8866ee 100644
--- a/drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c
+++ b/drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c
@@ -1008,6 +1008,7 @@ static void fs_enet_remove(struct platform_device *ofdev)
 	dev_set_drvdata(fep->dev, NULL);
 	phylink_destroy(fep->phylink);
 	free_netdev(ndev);
+	kfree(fep);
 }

 static const struct of_device_id fs_enet_match[] = {
--
2.53.0


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH net] net: fs_enet: add missing kfree in _remove
  2026-02-24  1:55 [PATCH net] net: fs_enet: add missing kfree in _remove Rosen Penev
@ 2026-02-24  8:20 ` Christophe Leroy (CS GROUP)
  2026-02-24 22:24   ` Rosen Penev
  0 siblings, 1 reply; 4+ messages in thread
From: Christophe Leroy (CS GROUP) @ 2026-02-24  8:20 UTC (permalink / raw)
  To: Rosen Penev, netdev
  Cc: Pantelis Antoniou, Andrew Lunn, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Russell King



Le 24/02/2026 à 02:55, Rosen Penev a écrit :
> The kfree is present in _probe on failure but not in remove.

Which kfree ? Which structure ?

Provide more details in the commit message.

> 
> Signed-off-by: Rosen Penev <rosenp@gmail.com>
> ---
>   drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c b/drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c
> index d3c772ed5fc9..ee2b7e8866ee 100644
> --- a/drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c
> +++ b/drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c
> @@ -1008,6 +1008,7 @@ static void fs_enet_remove(struct platform_device *ofdev)
>   	dev_set_drvdata(fep->dev, NULL);
>   	phylink_destroy(fep->phylink);
>   	free_netdev(ndev);
> +	kfree(fep);

This is not correct I think. fep is allocated by alloc_etherdev() and 
released by free_netdev()

>   }
> 
>   static const struct of_device_id fs_enet_match[] = {
> --
> 2.53.0
> 
> 


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH net] net: fs_enet: add missing kfree in _remove
  2026-02-24  8:20 ` Christophe Leroy (CS GROUP)
@ 2026-02-24 22:24   ` Rosen Penev
  2026-02-25  1:59     ` Jakub Kicinski
  0 siblings, 1 reply; 4+ messages in thread
From: Rosen Penev @ 2026-02-24 22:24 UTC (permalink / raw)
  To: Christophe Leroy (CS GROUP)
  Cc: netdev, Pantelis Antoniou, Andrew Lunn, David S. Miller,
	Eric Dumazet, Jakub Kicinski, Paolo Abeni, Russell King

On Tue, Feb 24, 2026 at 12:20 AM Christophe Leroy (CS GROUP)
<chleroy@kernel.org> wrote:
>
>
>
> Le 24/02/2026 à 02:55, Rosen Penev a écrit :
> > The kfree is present in _probe on failure but not in remove.
>
> Which kfree ? Which structure ?
probe has

out_free_bd:
        fep->ops->free_bd(ndev);
out_cleanup_data:
        fep->ops->cleanup_data(ndev);
out_phylink:
        phylink_destroy(fep->phylink);
out_free_dev:
        free_netdev(ndev);
out_free_fpi:
        kfree(fpi);

remove has only
'
        fep->ops->free_bd(ndev);
        fep->ops->cleanup_data(ndev);
        dev_set_drvdata(fep->dev, NULL);
        phylink_destroy(fep->phylink);
        free_netdev(ndev);

Conversion to devm would fix all of this but I got yelled at last time
I did devm conversions for netdev drivers, even when I have the
hardware to test.
>
> Provide more details in the commit message.
>
> >
> > Signed-off-by: Rosen Penev <rosenp@gmail.com>
> > ---
> >   drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c | 1 +
> >   1 file changed, 1 insertion(+)
> >
> > diff --git a/drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c b/drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c
> > index d3c772ed5fc9..ee2b7e8866ee 100644
> > --- a/drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c
> > +++ b/drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c
> > @@ -1008,6 +1008,7 @@ static void fs_enet_remove(struct platform_device *ofdev)
> >       dev_set_drvdata(fep->dev, NULL);
> >       phylink_destroy(fep->phylink);
> >       free_netdev(ndev);
> > +     kfree(fep);
>
> This is not correct I think. fep is allocated by alloc_etherdev() and
> released by free_netdev()
>
> >   }
> >
> >   static const struct of_device_id fs_enet_match[] = {
> > --
> > 2.53.0
> >
> >
>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH net] net: fs_enet: add missing kfree in _remove
  2026-02-24 22:24   ` Rosen Penev
@ 2026-02-25  1:59     ` Jakub Kicinski
  0 siblings, 0 replies; 4+ messages in thread
From: Jakub Kicinski @ 2026-02-25  1:59 UTC (permalink / raw)
  To: Rosen Penev
  Cc: Christophe Leroy (CS GROUP), netdev, Pantelis Antoniou,
	Andrew Lunn, David S. Miller, Eric Dumazet, Paolo Abeni,
	Russell King

On Tue, 24 Feb 2026 14:24:53 -0800 Rosen Penev wrote:
> > Le 24/02/2026 à 02:55, Rosen Penev a écrit :  
> > > The kfree is present in _probe on failure but not in remove.  
> >
> > Which kfree ? Which structure ?  
> probe has
> 
> out_free_bd:
>         fep->ops->free_bd(ndev);
> out_cleanup_data:
>         fep->ops->cleanup_data(ndev);
> out_phylink:
>         phylink_destroy(fep->phylink);
> out_free_dev:
>         free_netdev(ndev);
> out_free_fpi:
>         kfree(fpi);

This says fpi, not fep. Which is what Christophe was telling you.

Please add a Fixes tag when you send v2

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2026-02-25  1:59 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-24  1:55 [PATCH net] net: fs_enet: add missing kfree in _remove Rosen Penev
2026-02-24  8:20 ` Christophe Leroy (CS GROUP)
2026-02-24 22:24   ` Rosen Penev
2026-02-25  1:59     ` Jakub Kicinski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox