diff options
author | Jiri Pirko <jiri@nvidia.com> | 2023-10-13 14:10:29 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2023-10-18 09:23:01 +0100 |
commit | 5d77371e8c85abbe0f9fab7dacf3bc2c3214ada5 (patch) | |
tree | 03577f650df794602abc19036c3db14964a49e1d /net/devlink | |
parent | bb11cf9b2c4a21f6d1533ffd28feb0ef1fd659bb (diff) |
devlink: document devlink_rel_nested_in_notify() function
Add a documentation for devlink_rel_nested_in_notify() describing the
devlink instance locking consequences.
Signed-off-by: Jiri Pirko <jiri@nvidia.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/devlink')
-rw-r--r-- | net/devlink/core.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/net/devlink/core.c b/net/devlink/core.c index 655903ddbdfd..6984877e9f10 100644 --- a/net/devlink/core.c +++ b/net/devlink/core.c @@ -168,6 +168,20 @@ int devlink_rel_nested_in_add(u32 *rel_index, u32 devlink_index, return 0; } +/** + * devlink_rel_nested_in_notify - Notify the object this devlink + * instance is nested in. + * @devlink: devlink + * + * This is called upon network namespace change of devlink instance. + * In case this devlink instance is nested in another devlink object, + * a notification of a change of this object should be sent + * over netlink. The parent devlink instance lock needs to be + * taken during the notification preparation. + * However, since the devlink lock of nested instance is held here, + * we would end with wrong devlink instance lock ordering and + * deadlock. Therefore the work is utilized to avoid that. + */ void devlink_rel_nested_in_notify(struct devlink *devlink) { struct devlink_rel *rel = devlink->rel; |