diff --git a/net/core/dev.c b/net/core/dev.c index 1867a6a8d76d..9bdb8fe5ffaa 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -1279,7 +1279,9 @@ int dev_change_name(struct net_device *dev, const char *newname) rollback: ret = device_rename(&dev->dev, dev->name); if (ret) { + write_seqlock_bh(&netdev_rename_lock); memcpy(dev->name, oldname, IFNAMSIZ); + write_sequnlock_bh(&netdev_rename_lock); WRITE_ONCE(dev->name_assign_type, old_assign_type); up_write(&devnet_rename_sem); return ret;