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>
 
                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);