[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Z9r7UPJUJ_Ds6n-6@shell.armlinux.org.uk>
Date: Wed, 19 Mar 2025 17:13:52 +0000
From: "Russell King (Oracle)" <linux@...linux.org.uk>
To: Andy Shevchenko <andriy.shevchenko@...ux.intel.com>
Cc: linux-usb@...r.kernel.org, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org, Andrew Lunn <andrew+netdev@...n.ch>,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>,
Heiner Kallweit <hkallweit1@...il.com>
Subject: Re: [PATCH net v2 2/2] net: usb: asix: ax88772: Increase phy_name
size
On Wed, Mar 19, 2025 at 06:22:54PM +0200, Andy Shevchenko wrote:
> On Wed, Mar 19, 2025 at 02:43:40PM +0000, Russell King (Oracle) wrote:
> > On Wed, Mar 19, 2025 at 12:54:34PM +0200, Andy Shevchenko wrote:
> > > - char phy_name[20];
> > > + char phy_name[MII_BUS_ID_SIZE + 3];
> >
> > MII_BUS_ID_SIZE is sized to 61, and is what is used in struct
> > mii_bus::id. Why there a +3 here, which seems like a random constant to
> > make it 64-bit aligned in size. If we have need to increase
> > MII_BUS_ID_SIZE in the future, this kind of alignment then goes
> > wrong...
> >
> > If the intention is to align it to 64-bit then there's surely a better
> > and future-proof ways to do that.
>
> Nope, intention is to cover the rest after %s.
Oops, I had missed that MII_BUS_ID_SIZE is the size of the "%s" part.
I think linux/phy.h should declare:
#define PHY_ID_SIZE (MII_BUS_ID_SIZE + 3)
to cater for the ":XX" that PHY_ID_FMT adds.
So the above would become:
char phy_name[PHY_ID_SIZE];
I wonder whether keeping PHY_ID_FMT as-is, but casting the argument
to a u8 would solve the issue?
Maybe something like:
static inline void
phy_format_id(char *dst, size_t n, const char *mii_bus_id, u8 phy_dev_id)
{
BUILD_BUG_ON_MSG(n < PHY_ID_SIZE, "PHY ID destination too small");
snprintf(dat, n, PHY_ID_FMT, mii_bus_id, phy_dev_id);
}
would solve it?
--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!
Powered by blists - more mailing lists