netdev: change name dropping error codes
authorStephen Hemminger <shemminger@vyatta.com>
Mon, 20 Oct 2008 06:33:56 +0000 (23:33 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 20 Oct 2008 06:33:56 +0000 (23:33 -0700)
If changename notifier returns an error code, it gets incorrectly
cleared during rollback so the error is never returned to the user.
Found while testing similar code for MTU changes.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/dev.c

index 868ec0ba8b77dc7088c28816238b2ee557316e01..b8a4fd0806af3fca72224828293a497f13281831 100644 (file)
@@ -924,10 +924,10 @@ int dev_change_name(struct net_device *dev, const char *newname)
                strlcpy(dev->name, newname, IFNAMSIZ);
 
 rollback:
-       err = device_rename(&dev->dev, dev->name);
-       if (err) {
+       ret = device_rename(&dev->dev, dev->name);
+       if (ret) {
                memcpy(dev->name, oldname, IFNAMSIZ);
-               return err;
+               return ret;
        }
 
        write_lock_bh(&dev_base_lock);