Skip to content

Commit 15feb56

Browse files
Jiri Pirkokuba-moo
authored andcommitted
net: devlink: move netdev notifier block to dest namespace during reload
The notifier block tracking netdev changes in devlink is registered during devlink_alloc() per-net, it is then unregistered in devlink_free(). When devlink moves from net namespace to another one, the notifier block needs to move along. Fix this by adding forgotten call to move the block. Reported-by: Ido Schimmel <idosch@idosch.org> Fixes: 02a68a4 ("net: devlink: track netdev with devlink_port assigned") Reviewed-by: Ido Schimmel <idosch@nvidia.com> Tested-by: Ido Schimmel <idosch@nvidia.com> Signed-off-by: Jiri Pirko <jiri@nvidia.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
1 parent 3e52fba commit 15feb56

1 file changed

Lines changed: 4 additions & 1 deletion

File tree

net/core/devlink.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4502,8 +4502,11 @@ static int devlink_reload(struct devlink *devlink, struct net *dest_net,
45024502
if (err)
45034503
return err;
45044504

4505-
if (dest_net && !net_eq(dest_net, curr_net))
4505+
if (dest_net && !net_eq(dest_net, curr_net)) {
4506+
move_netdevice_notifier_net(curr_net, dest_net,
4507+
&devlink->netdevice_nb);
45064508
write_pnet(&devlink->_net, dest_net);
4509+
}
45074510

45084511
err = devlink->ops->reload_up(devlink, action, limit, actions_performed, extack);
45094512
devlink_reload_failed_set(devlink, !!err);

0 commit comments

Comments
 (0)