Skip to content

Commit

Permalink
net: devlink: remove redundant rtnl lock assert
Browse files Browse the repository at this point in the history
It is enough for caller of devlink_compat_switch_id_get() to hold the net
device to guarantee that devlink port is not destroyed concurrently. Remove
rtnl lock assertion and modify comment to warn user that they must hold
either rtnl lock or reference to net device. This is necessary to
accommodate future implementation of rtnl-unlocked TC offloads driver
callbacks.

Signed-off-by: Vlad Buslov <[email protected]>
Acked-by: Jiri Pirko <[email protected]>
Signed-off-by: Jakub Kicinski <[email protected]>
  • Loading branch information
w1ldptr authored and Jakub Kicinski committed Aug 13, 2019
1 parent 708852d commit 043b841
Showing 1 changed file with 2 additions and 3 deletions.
5 changes: 2 additions & 3 deletions net/core/devlink.c
Original file line number Diff line number Diff line change
Expand Up @@ -6939,11 +6939,10 @@ int devlink_compat_switch_id_get(struct net_device *dev,
{
struct devlink_port *devlink_port;

/* RTNL mutex is held here which ensures that devlink_port
* instance cannot disappear in the middle. No need to take
/* Caller must hold RTNL mutex or reference to dev, which ensures that
* devlink_port instance cannot disappear in the middle. No need to take
* any devlink lock as only permanent values are accessed.
*/
ASSERT_RTNL();
devlink_port = netdev_to_devlink_port(dev);
if (!devlink_port || !devlink_port->attrs.switch_port)
return -EOPNOTSUPP;
Expand Down

0 comments on commit 043b841

Please sign in to comment.