public inbox for netdev@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH net-next] net: mvneta: fix NVMEM mac address
@ 2026-03-05 22:46 Rosen Penev
  2026-03-06 17:35 ` Andrew Lunn
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Rosen Penev @ 2026-03-05 22:46 UTC (permalink / raw)
  To: netdev
  Cc: Marcin Wojtas, Andrew Lunn, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, open list

If nvmem loads after the ethernet driver, mac address assignments will
not take effect. of_get_ethdev_address returns EPROBE_DEFER in such a
case so we need to handle that to avoid eth_hw_addr_random.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
---
 drivers/net/ethernet/marvell/mvneta.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/net/ethernet/marvell/mvneta.c b/drivers/net/ethernet/marvell/mvneta.c
index d627858d2802..2ed3397818f6 100644
--- a/drivers/net/ethernet/marvell/mvneta.c
+++ b/drivers/net/ethernet/marvell/mvneta.c
@@ -5620,6 +5620,8 @@ static int mvneta_probe(struct platform_device *pdev)
 	}
 
 	err = of_get_ethdev_address(dn, dev);
+	if (err == -EPROBE_DEFER)
+		goto err_free_ports;
 	if (!err) {
 		mac_from = "device tree";
 	} else {
-- 
2.53.0


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

* Re: [PATCH net-next] net: mvneta: fix NVMEM mac address
  2026-03-05 22:46 [PATCH net-next] net: mvneta: fix NVMEM mac address Rosen Penev
@ 2026-03-06 17:35 ` Andrew Lunn
  2026-03-07  1:18 ` [net-next] " Jakub Kicinski
  2026-03-07  1:18 ` [PATCH net-next] " Jakub Kicinski
  2 siblings, 0 replies; 4+ messages in thread
From: Andrew Lunn @ 2026-03-06 17:35 UTC (permalink / raw)
  To: Rosen Penev
  Cc: netdev, Marcin Wojtas, Andrew Lunn, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, open list

On Thu, Mar 05, 2026 at 02:46:43PM -0800, Rosen Penev wrote:
> If nvmem loads after the ethernet driver, mac address assignments will
> not take effect. of_get_ethdev_address returns EPROBE_DEFER in such a
> case so we need to handle that to avoid eth_hw_addr_random.
> 
> Signed-off-by: Rosen Penev <rosenp@gmail.com>

Reviewed-by: Andrew Lunn <andrew@lunn.ch>

    Andrew

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

* Re: [net-next] net: mvneta: fix NVMEM mac address
  2026-03-05 22:46 [PATCH net-next] net: mvneta: fix NVMEM mac address Rosen Penev
  2026-03-06 17:35 ` Andrew Lunn
@ 2026-03-07  1:18 ` Jakub Kicinski
  2026-03-07  1:18 ` [PATCH net-next] " Jakub Kicinski
  2 siblings, 0 replies; 4+ messages in thread
From: Jakub Kicinski @ 2026-03-07  1:18 UTC (permalink / raw)
  To: rosenp
  Cc: Jakub Kicinski, netdev, andrew+netdev, open list, edumazet, davem,
	pabeni, marcin.s.wojtas

This is an AI-generated review of your patch. The human sending this
email has considered the AI review valid, or at least plausible.

For local reproduction steps see https://netdev-ai.bots.linux.dev/ai-local.html
---
net: mvneta: fix NVMEM mac address

This commit adds handling for EPROBE_DEFER from of_get_ethdev_address()
to avoid falling back to a random MAC address when the NVMEM module loads
after the ethernet driver.

> diff --git a/drivers/net/ethernet/marvell/mvneta.c b/drivers/net/ethernet/marvell/mvneta.c
> index 9ba4aef7080c..18bc13dd4e58 100644
> --- a/drivers/net/ethernet/marvell/mvneta.c
> +++ b/drivers/net/ethernet/marvell/mvneta.c
> @@ -5620,6 +5620,8 @@ static int mvneta_probe(struct platform_device *pdev)
>  	}
>
>  	err = of_get_ethdev_address(dn, dev);
> +	if (err == -EPROBE_DEFER)
> +		goto err_free_ports;

Does this leak the per-CPU stats? Earlier in mvneta_probe(), stats are
allocated:

	pp->stats = netdev_alloc_pcpu_stats(struct mvneta_pcpu_stats);
	if (!pp->stats) {
		err = -ENOMEM;
		goto err_free_ports;
	}

	err = of_get_ethdev_address(dn, dev);

When of_get_ethdev_address() returns -EPROBE_DEFER, this code jumps to
err_free_ports which only frees pp->ports but not pp->stats.

The err_free_ports label only calls free_percpu(pp->ports) and does not
free pp->stats. Stats are only freed at the err_netdev label which is
skipped by this error path. This causes a memory leak on every deferred
probe attempt when NVMEM loads after the ethernet driver.

>  	if (!err) {
>  		mac_from = "device tree";
>  	} else {
-- 
pw-bot: cr

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

* Re: [PATCH net-next] net: mvneta: fix NVMEM mac address
  2026-03-05 22:46 [PATCH net-next] net: mvneta: fix NVMEM mac address Rosen Penev
  2026-03-06 17:35 ` Andrew Lunn
  2026-03-07  1:18 ` [net-next] " Jakub Kicinski
@ 2026-03-07  1:18 ` Jakub Kicinski
  2 siblings, 0 replies; 4+ messages in thread
From: Jakub Kicinski @ 2026-03-07  1:18 UTC (permalink / raw)
  To: Rosen Penev
  Cc: netdev, Marcin Wojtas, Andrew Lunn, David S. Miller, Eric Dumazet,
	Paolo Abeni, open list

On Thu,  5 Mar 2026 14:46:43 -0800 Rosen Penev wrote:
> Subject: [PATCH net-next] net: mvneta: fix NVMEM mac address

When you repost please change the subject to

net: mvneta: support EPROBE_DEFER when reading MAC address

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

end of thread, other threads:[~2026-03-07  1:18 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-05 22:46 [PATCH net-next] net: mvneta: fix NVMEM mac address Rosen Penev
2026-03-06 17:35 ` Andrew Lunn
2026-03-07  1:18 ` [net-next] " Jakub Kicinski
2026-03-07  1:18 ` [PATCH net-next] " Jakub Kicinski

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