Re: [PATCH net-next v1 1/7] net: ethtool: plumb PHY stats to PHY drivers
From: Jakub Kicinski
Date: Thu Dec 05 2024 - 20:19:20 EST
On Thu, 5 Dec 2024 11:57:33 +0000 Russell King (Oracle) wrote:
> > + * The input structure is not zero-initialized and the implementation
> > + * must only set statistics which are actually collected by the device.
>
> Eh what? This states to me that the structure is not initialised, but
> drivers should not write to all members unless they support the
> statistic.
>
> Doesn't this mean we end up returning uninitialised data to userspace?
> If the structure is not initialised, how does core code know which
> statistics the driver has set to avoid returning uninitialised data?
It's not zero-initialized. Meaning it's initialized to a special magic
value that the core then checks for to decide if the driver actually
reported something.
Maybe this:
* Drivers must not zero out statistics which they don't report.
* Core will initialize members to ETHTOOL_STAT_NOT_SET and check
* for this value to report to user space only the stats actually
* supported by the device.
IDK how to phrase this better..