Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Linux: Kernel

[PATCH 1/3] net: handle errors from device_rename

 

 

Linux kernel RSS feed   Index | Next | Previous | View Threaded


shemminger at vyatta

May 14, 2008, 6:15 PM

Post #1 of 4 (394 views)
Permalink
[PATCH 1/3] net: handle errors from device_rename

device_rename can fail with -EEXIST or -ENOMEM, so handle any problems.

Signed-off-by: Stephen Hemminger <shemminger [at] vyatta>

--- a/net/core/dev.c 2008-05-14 17:49:37.000000000 -0700
+++ b/net/core/dev.c 2008-05-14 17:51:21.000000000 -0700
@@ -903,7 +903,11 @@ int dev_change_name(struct net_device *d
strlcpy(dev->name, newname, IFNAMSIZ);

rollback:
- device_rename(&dev->dev, dev->name);
+ err = device_rename(&dev->dev, dev->name);
+ if (err) {
+ memcpy(dev->name, oldname, IFNAMSIZ);
+ return err;
+ }

write_lock_bh(&dev_base_lock);
hlist_del(&dev->name_hlist);
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo [at] vger
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


davem at davemloft

May 14, 2008, 10:33 PM

Post #2 of 4 (354 views)
Permalink
Re: [PATCH 1/3] net: handle errors from device_rename [In reply to]

From: Stephen Hemminger <shemminger [at] vyatta>
Date: Wed, 14 May 2008 18:15:43 -0700

> device_rename can fail with -EEXIST or -ENOMEM, so handle any problems.
>
> Signed-off-by: Stephen Hemminger <shemminger [at] vyatta>

Applied, thanks.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo [at] vger
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


wangchen at cn

May 15, 2008, 1:41 AM

Post #3 of 4 (350 views)
Permalink
Re: [PATCH 1/3] net: handle errors from device_rename [In reply to]

Stephen Hemminger said the following on 2008-5-15 9:15:
> rollback:
> - device_rename(&dev->dev, dev->name);
> + err = device_rename(&dev->dev, dev->name);
> + if (err) {
> + memcpy(dev->name, oldname, IFNAMSIZ);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
no need, dev->name didn't change in device_rename().

> + return err;
> + }
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo [at] vger
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


shemminger at vyatta

May 15, 2008, 1:09 PM

Post #4 of 4 (349 views)
Permalink
Re: [PATCH 1/3] net: handle errors from device_rename [In reply to]

On Thu, 15 May 2008 16:41:40 +0800
Wang Chen <wangchen [at] cn> wrote:

> Stephen Hemminger said the following on 2008-5-15 9:15:
> > rollback:
> > - device_rename(&dev->dev, dev->name);
> > + err = device_rename(&dev->dev, dev->name);
> > + if (err) {
> > + memcpy(dev->name, oldname, IFNAMSIZ);
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> no need, dev->name didn't change in device_rename().
>
> > + return err;
> > + }
> >

dev->name has already been changed before the call to device_rename,
so it needs to be set back read the whole code context.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo [at] vger
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

Linux kernel RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.