diff --git a/net/core/dev.c b/net/core/dev.c index dabed5337a9d..c3da35f3c7e4 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -330,6 +330,12 @@ int netdev_name_node_alt_destroy(struct net_device *dev, const char *name) name_node = netdev_name_node_lookup(net, name); if (!name_node) return -ENOENT; + /* lookup might have found our primary name or a name belonging + * to another device. + */ + if (name_node == dev->name_node || name_node->dev != dev) + return -EINVAL; + __netdev_name_node_alt_destroy(name_node); return 0;