diff options
-rw-r--r-- | net/devlink/dev.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/net/devlink/dev.c b/net/devlink/dev.c index ab4e0f3c4e3d..b40153fa2680 100644 --- a/net/devlink/dev.c +++ b/net/devlink/dev.c @@ -476,6 +476,12 @@ int devlink_nl_cmd_reload(struct sk_buff *skb, struct genl_info *info) dest_net = devlink_netns_get(skb, info); if (IS_ERR(dest_net)) return PTR_ERR(dest_net); + if (!net_eq(dest_net, devlink_net(devlink)) && + action != DEVLINK_RELOAD_ACTION_DRIVER_REINIT) { + NL_SET_ERR_MSG_MOD(info->extack, + "Changing namespace is only supported for reinit action"); + return -EOPNOTSUPP; + } } err = devlink_reload(devlink, dest_net, action, limit, &actions_performed, info->extack); |