Message ID | 20250613134817.681832-13-herve.codina@bootlin.com |
---|---|
State | New |
Headers | show |
Series | lan966x pci device: Add support for SFPs | expand |
On Fri, Jun 13, 2025 at 03:47:52PM +0200, Herve Codina wrote: > The dev member in the fwnode structure should be accessed only by the > fwnode core. The fw_devlink_set_device() helper has been introduced to > avoid users to set this member directly. All users have been converted > and use fw_devlink_set_device() to set the field. > > To avoid future abusers who might set the field directly and allow > sparse to detect them, tag the dev field as a private field. Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
diff --git a/include/linux/fwnode.h b/include/linux/fwnode.h index a1345e274125..5762914fdbf2 100644 --- a/include/linux/fwnode.h +++ b/include/linux/fwnode.h @@ -54,7 +54,7 @@ struct fwnode_handle { const struct fwnode_operations *ops; /* The below is used solely by device links, don't use otherwise */ - struct device *dev; + struct device *__private dev; struct list_head suppliers; struct list_head consumers; u8 flags; @@ -234,7 +234,7 @@ bool fw_devlink_is_strict(void); static inline void fw_devlink_set_device(struct fwnode_handle *fwnode, struct device *dev) { - fwnode->dev = dev; + ACCESS_PRIVATE(fwnode, dev) = dev; } #endif
The dev member in the fwnode structure should be accessed only by the fwnode core. The fw_devlink_set_device() helper has been introduced to avoid users to set this member directly. All users have been converted and use fw_devlink_set_device() to set the field. To avoid future abusers who might set the field directly and allow sparse to detect them, tag the dev field as a private field. Signed-off-by: Herve Codina <herve.codina@bootlin.com> --- include/linux/fwnode.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)