aboutsummaryrefslogtreecommitdiffstats
path: root/net/devlink
diff options
context:
space:
mode:
authorJiri Pirko <jiri@nvidia.com>2023-02-13 12:58:36 +0100
committerPaolo Abeni <pabeni@redhat.com>2023-02-14 14:04:21 +0100
commit2edd92570441dd33246210042dc167319a5cf7e3 (patch)
treee89ee574eda45fdd8f41927794945b0127a4fcec /net/devlink
parentdca5161f9bd052e9e73be90716ffd57e8762c697 (diff)
downloadlinux-2edd92570441dd33246210042dc167319a5cf7e3.tar.gz
devlink: don't allow to change net namespace for FW_ACTIVATE reload action
The change on network namespace only makes sense during re-init reload action. For FW activation it is not applicable. So check if user passed an ATTR indicating network namespace change request and forbid it. Signed-off-by: Jiri Pirko <jiri@nvidia.com> Acked-by: Jakub Kicinski <kuba@kernel.org> Link: https://lore.kernel.org/r/20230213115836.3404039-1-jiri@resnulli.us Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Diffstat (limited to 'net/devlink')
-rw-r--r--net/devlink/dev.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/net/devlink/dev.c b/net/devlink/dev.c
index ab4e0f3c4e3d7..b40153fa26800 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);