From: Jakub Kicinski <kuba@kernel.org>
To: maxime.chevallier@bootlin.com
Cc: Jakub Kicinski <kuba@kernel.org>,
daniel@makrotopia.org, christophe.leroy@csgroup.eu,
kabel@kernel.org, kory.maincent@bootlin.com,
f.fainelli@gmail.com, vladimir.oltean@nxp.com,
netdev@vger.kernel.org, horms@kernel.org, mwojtas@chromium.org,
o.rempel@pengutronix.de, romain.gantois@bootlin.com,
herve.codina@bootlin.com, dimitri.fedrau@liebherr.com,
hkallweit1@gmail.com, nicveronese@gmail.com,
linux-kernel@vger.kernel.org, edumazet@google.com,
pabeni@redhat.com, thomas.petazzoni@bootlin.com, andrew@lunn.ch,
davem@davemloft.net, linux@armlinux.org.uk
Subject: Re: [net-next,v2,03/12] net: phy: phy_link_topology: Track ports in phy_link_topology
Date: Thu, 29 Jan 2026 20:00:11 -0800 [thread overview]
Message-ID: <20260130040011.707782-1-kuba@kernel.org> (raw)
In-Reply-To: <20260128204526.170927-4-maxime.chevallier@bootlin.com>
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: phy: phy_link_topology: Track ports in phy_link_topology
This commit adds a new ports xarray to phy_link_topology to track
phy_port structures alongside PHY devices. The ports are added when
a PHY is added and removed when a PHY is removed.
> diff --git a/drivers/net/phy/phy_link_topology.c b/drivers/net/phy/phy_link_topology.c
> index 7dc2ff10c74a..456f1144e83e 100644
> --- a/drivers/net/phy/phy_link_topology.c
> +++ b/drivers/net/phy/phy_link_topology.c
[ ... ]
> @@ -22,6 +23,9 @@ static int netdev_alloc_phy_link_topology(struct net_device *dev)
> xa_init_flags(&topo->phys, XA_FLAGS_ALLOC1);
> topo->next_phy_index = 1;
>
> + xa_init_flags(&topo->ports, XA_FLAGS_ALLOC1);
> + topo->next_port_index = 1;
> +
> dev->link_topo = topo;
>
> return 0;
The ports xarray is initialized here, but netdev_free_phy_link_topology()
in net/core/dev.c only calls xa_destroy() on topo->phys:
static void netdev_free_phy_link_topology(struct net_device *dev)
{
struct phy_link_topology *topo = dev->link_topo;
if (IS_ENABLED(CONFIG_PHYLIB) && topo) {
xa_destroy(&topo->phys);
kfree(topo);
dev->link_topo = NULL;
}
}
Should xa_destroy(&topo->ports) be added before the kfree(topo) to avoid
leaking memory allocated by the ports xarray?
next prev parent reply other threads:[~2026-01-30 4:00 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-28 20:45 [PATCH net-next v2 00/12] net: phy_port: SFP modules representation and phy_port listing Maxime Chevallier
2026-01-28 20:45 ` [PATCH net-next v2 01/12] net: phy: phy_port: Correctly recompute the port's linkmodes Maxime Chevallier
2026-01-30 4:00 ` [net-next,v2,01/12] " Jakub Kicinski
2026-01-28 20:45 ` [PATCH net-next v2 02/12] net: phy: phy_link_topology: Add a helper for opportunistic alloc Maxime Chevallier
2026-01-28 20:45 ` [PATCH net-next v2 03/12] net: phy: phy_link_topology: Track ports in phy_link_topology Maxime Chevallier
2026-01-30 4:00 ` Jakub Kicinski [this message]
2026-01-28 20:45 ` [PATCH net-next v2 04/12] net: phylink: Register a phy_port for MAC-driven SFP busses Maxime Chevallier
2026-01-28 20:45 ` [PATCH net-next v2 05/12] net: phy: Create SFP phy_port before registering usptream Maxime Chevallier
2026-01-28 20:45 ` [PATCH net-next v2 06/12] net: sfp: Add a sfp-bus ops when connecting a module without PHY Maxime Chevallier
2026-01-28 20:45 ` [PATCH net-next v2 07/12] net: phy: Represent PHY-less SFP modules with phy_port Maxime Chevallier
2026-01-28 20:45 ` [PATCH net-next v2 08/12] net: phylink: " Maxime Chevallier
2026-01-30 4:00 ` [net-next,v2,08/12] " Jakub Kicinski
2026-01-28 20:45 ` [PATCH net-next v2 09/12] net: phy: phy_port: Store information about a MII port's occupancy Maxime Chevallier
2026-01-30 4:00 ` [net-next,v2,09/12] " Jakub Kicinski
2026-01-28 20:45 ` [PATCH net-next v2 10/12] net: phy: phy_link_topology: Add a helper to retrieve ports Maxime Chevallier
2026-01-28 20:45 ` [PATCH net-next v2 11/12] netlink: specs: Add ethernet port listing with ethtool Maxime Chevallier
2026-01-28 20:45 ` [PATCH net-next v2 12/12] net: ethtool: Introduce ethtool command to list ports Maxime Chevallier
2026-01-30 3:59 ` [PATCH net-next v2 00/12] net: phy_port: SFP modules representation and phy_port listing Jakub Kicinski
2026-01-30 8:21 ` Maxime Chevallier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260130040011.707782-1-kuba@kernel.org \
--to=kuba@kernel.org \
--cc=andrew@lunn.ch \
--cc=christophe.leroy@csgroup.eu \
--cc=daniel@makrotopia.org \
--cc=davem@davemloft.net \
--cc=dimitri.fedrau@liebherr.com \
--cc=edumazet@google.com \
--cc=f.fainelli@gmail.com \
--cc=herve.codina@bootlin.com \
--cc=hkallweit1@gmail.com \
--cc=horms@kernel.org \
--cc=kabel@kernel.org \
--cc=kory.maincent@bootlin.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=maxime.chevallier@bootlin.com \
--cc=mwojtas@chromium.org \
--cc=netdev@vger.kernel.org \
--cc=nicveronese@gmail.com \
--cc=o.rempel@pengutronix.de \
--cc=pabeni@redhat.com \
--cc=romain.gantois@bootlin.com \
--cc=thomas.petazzoni@bootlin.com \
--cc=vladimir.oltean@nxp.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.