[Devel] [RFC 42/54] dev: fix CONFIG_VE=n build
Eva Kurchatova
eva.kurchatova at virtuozzo.com
Wed Apr 29 22:58:42 MSK 2026
Signed-off-by: Eva Kurchatova <eva.kurchatova at virtuozzo.com>
---
net/core/dev.c | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
diff --git a/net/core/dev.c b/net/core/dev.c
index b3b2e305ae3e..c5c26abdfb35 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -10464,7 +10464,7 @@ int register_netdevice(struct net_device *dev)
ret = ethtool_check_ops(dev->ethtool_ops);
if (ret)
return ret;
-
+#ifdef CONFIG_VE
ret = -ENOMEM;
if (atomic_dec_if_positive(&net->owner_ve->netif_avail_nr) < 0) {
ve_pr_warn_ratelimited(VE_LOG_BOTH,
@@ -10473,7 +10473,7 @@ int register_netdevice(struct net_device *dev)
ve_name(net->owner_ve));
return ret;
}
-
+#endif
/* rss ctx ID 0 is reserved for the default context, start from 1 */
xa_init_flags(&dev->ethtool->rss_ctx, XA_FLAGS_ALLOC1);
mutex_init(&dev->ethtool->rss_lock);
@@ -10499,13 +10499,13 @@ int register_netdevice(struct net_device *dev)
goto err_free_name;
}
}
-
+#ifdef CONFIG_VE
/* Keep the check after .ndo_init() call. */
if (!ve_is_super(net->owner_ve) && ve_is_dev_movable(dev)) {
ret = -EPERM;
goto err_uninit;
}
-
+#endif
if (((dev->hw_features | dev->features) &
NETIF_F_HW_VLAN_CTAG_FILTER) &&
(!dev->netdev_ops->ndo_vlan_rx_add_vid ||
@@ -10637,7 +10637,9 @@ int register_netdevice(struct net_device *dev)
err_free_name:
netdev_name_node_free(dev->name_node);
out_inc:
+#ifdef CONFIG_VE
atomic_inc(&net->owner_ve->netif_avail_nr);
+#endif
goto out;
}
EXPORT_SYMBOL(register_netdevice);
@@ -10896,7 +10898,9 @@ void netdev_run_todo(void)
free_netdev(dev);
cnt++;
+#ifdef CONFIG_VE
atomic_inc(&dev_net(dev)->owner_ve->netif_avail_nr);
+#endif
/* Free network device */
kobject_put(&dev->dev.kobj);
@@ -11643,7 +11647,7 @@ int __dev_change_net_namespace(struct net_device *dev, struct net *net,
goto out;
new_ifindex = err;
}
-
+#ifdef CONFIG_VE
err = -ENOMEM;
if (atomic_dec_if_positive(&net->owner_ve->netif_avail_nr) < 0) {
ve_pr_warn_ratelimited(VE_LOG_BOTH,
@@ -11653,6 +11657,7 @@ int __dev_change_net_namespace(struct net_device *dev, struct net *net,
goto out;
}
atomic_inc(&dev_net(dev)->owner_ve->netif_avail_nr);
+#endif
/*
* And now a mini version of register_netdevice unregister_netdevice.
--
2.54.0
More information about the Devel
mailing list