Thread (25 messages) 25 messages, 3 authors, 2023-11-23

Re: [RFC PATCH net-next v2 04/10] net: sfp: Add helper to return the SFP bus name

From: Maxime Chevallier <maxime.chevallier@bootlin.com>
Date: 2023-11-23 13:35:12
Also in: linux-arm-kernel, lkml

Hi Andrew, Russell,

On Tue, 21 Nov 2023 10:20:43 +0000
"Russell King (Oracle)" [off-list ref] wrote:
On Tue, Nov 21, 2023 at 02:00:58AM +0100, Andrew Lunn wrote:
quoted
quoted
+const char *sfp_get_name(struct sfp_bus *bus)
+{
+	if (bus->sfp_dev)
+		return dev_name(bus->sfp_dev);
+
+	return NULL;
+}  
Locking? Do you assume rtnl? Does this function need to take rtnl?  
Yes, rtnl needs to be held to safely access bus->sfp_dev, and that
either needs to happen in this function, or be documented as being
requried (and ASSERT_RTNL() added here.)

The reason is that sfp_dev is the SFP socket device which can be
unbound via sfp_unregister_socket(), which will set bus->sfp_dev to
NULL. This could race with the above.
That's right, I'll add an assert and document it, thanks for spotting
this.

Maxime
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help