From: Maxime Chevallier <maxime.chevallier@bootlin.com>
To: "Russell King (Oracle)" <linux@armlinux.org.uk>
Cc: davem@davemloft.net, netdev@vger.kernel.org,
linux-kernel@vger.kernel.org, "Andrew Lunn" <andrew@lunn.ch>,
"Jakub Kicinski" <kuba@kernel.org>,
"Eric Dumazet" <edumazet@google.com>,
"Paolo Abeni" <pabeni@redhat.com>,
"Florian Fainelli" <f.fainelli@gmail.com>,
"Heiner Kallweit" <hkallweit1@gmail.com>,
"Vladimir Oltean" <vladimir.oltean@nxp.com>,
"Oleksij Rempel" <linux@rempel-privat.de>,
"Nicolò Veronese" <nicveronese@gmail.com>,
thomas.petazzoni@bootlin.com,
"Christophe Leroy" <christophe.leroy@csgroup.eu>
Subject: Re: [RFC PATCH net-next 4/7] net: ethtool: add a netlink command to list PHYs
Date: Thu, 7 Sep 2023 14:16:35 +0200 [thread overview]
Message-ID: <20230907141635.20bcaa59@pc-7.home> (raw)
In-Reply-To: <ZPmfOOsqoO02AcBH@shell.armlinux.org.uk>
Hello Russell,
On Thu, 7 Sep 2023 11:00:24 +0100
"Russell King (Oracle)" <linux@armlinux.org.uk> wrote:
> On Thu, Sep 07, 2023 at 11:24:02AM +0200, Maxime Chevallier wrote:
> > +#define PHY_MAX_ENTRIES 16
> > +
> > +struct phy_list_reply_data {
> > + struct ethnl_reply_data base;
> > + u8 n_phys;
> > + u32 phy_indices[PHY_MAX_ENTRIES];
>
> Please could you detail the decision making behind 16 entries - is this
> arbitary or based on something?
>
> Also, please consider what we should do if we happen to have more than
> 16 entries.
Ah indeed it was totally arbitrary, the idea was to have a fixed-size
reply struct, so that we can populate the
ethnl_request_ops.reply_data_size field and not do any manual memory
management. But I can store a pointer to the array of phy devices,
dynamically allocated and we won't have to deal with this fixed,
arbitrary-sized array anymore.
Sorry for not documenting this.
> Finally, using u8 before an array of u32 can leave 3 bytes of padding.
> It would be better to use u32 for n_phys to avoid that padding.
Sure thing, I'll change this
> > + mutex_lock(&phy_ns->ns_lock);
> > + list_for_each_entry(phydev, &phy_ns->phys, node)
> > + data->phy_indices[data->n_phys++] = phydev->phyindex;
>
> I think this loop should limit its iterations to ensure that the
> array can't overflow.
Thanks,
Maxime
next prev parent reply other threads:[~2023-09-07 15:28 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-07 9:23 [RFC PATCH net-next 0/7] net: phy: introduce phy numbering Maxime Chevallier
2023-09-07 9:23 ` [RFC PATCH net-next 1/7] net: phy: introduce phy numbering and phy namespaces Maxime Chevallier
2023-09-07 9:32 ` Russell King (Oracle)
2023-09-07 10:14 ` Russell King (Oracle)
2023-09-07 12:19 ` Maxime Chevallier
2023-09-08 15:36 ` Jakub Kicinski
2023-09-11 13:05 ` Maxime Chevallier
2023-09-12 15:41 ` Andrew Lunn
2023-09-12 16:10 ` Maxime Chevallier
2023-09-12 17:08 ` Florian Fainelli
2023-09-12 16:15 ` Andrew Lunn
2023-09-12 17:01 ` Maxime Chevallier
2023-09-07 9:24 ` [RFC PATCH net-next 2/7] net: sfp: pass the phy_device when disconnecting an sfp module's PHY Maxime Chevallier
2023-09-07 9:24 ` [RFC PATCH net-next 3/7] net: phy: add helpers to handle sfp phy connect/disconnect Maxime Chevallier
2023-09-07 9:24 ` [RFC PATCH net-next 4/7] net: ethtool: add a netlink command to list PHYs Maxime Chevallier
2023-09-07 10:00 ` Russell King (Oracle)
2023-09-07 12:16 ` Maxime Chevallier [this message]
2023-09-12 16:01 ` Andrew Lunn
2023-09-12 16:29 ` Andrew Lunn
2023-09-07 9:24 ` [RFC PATCH net-next 5/7] netlink: specs: add phy_list command Maxime Chevallier
2023-09-07 9:24 ` [RFC PATCH net-next 6/7] net: ethtool: add a netlink command to get PHY information Maxime Chevallier
2023-09-07 10:04 ` Russell King (Oracle)
2023-09-07 12:20 ` Maxime Chevallier
2023-09-08 15:42 ` Jakub Kicinski
2023-09-08 15:46 ` Jakub Kicinski
2023-09-14 9:36 ` Maxime Chevallier
2023-10-03 13:55 ` Jakub Kicinski
2023-10-03 18:26 ` Andrew Lunn
2023-09-07 9:24 ` [RFC PATCH net-next 7/7] netlink: specs: add command to show individual phy information Maxime Chevallier
2023-09-08 15:41 ` [RFC PATCH net-next 0/7] net: phy: introduce phy numbering Jakub Kicinski
2023-09-11 13:09 ` Maxime Chevallier
2023-09-12 15:36 ` Andrew Lunn
2023-09-12 15:51 ` Maxime Chevallier
2023-09-14 10:06 ` Christophe Leroy
2023-09-14 12:47 ` Andrew Lunn
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=20230907141635.20bcaa59@pc-7.home \
--to=maxime.chevallier@bootlin.com \
--cc=andrew@lunn.ch \
--cc=christophe.leroy@csgroup.eu \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=f.fainelli@gmail.com \
--cc=hkallweit1@gmail.com \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=linux@rempel-privat.de \
--cc=netdev@vger.kernel.org \
--cc=nicveronese@gmail.com \
--cc=pabeni@redhat.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).