[NET]: Fix race condition about network device name allocation.
authorStephen Hemminger <shemminger@linux-foundation.org>
Sat, 19 May 2007 22:39:25 +0000 (15:39 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sat, 19 May 2007 22:39:25 +0000 (15:39 -0700)
Kenji Kaneshige found this race between device removal and
registration.  On unregister it is possible for the old device to
exist, because sysfs file is still open.  A new device with 'eth%d'
will select the same name, but sysfs kobject register will fial.

The following changes the shutdown order slightly. It hold a removes
the sysfs entries earlier (on unregister_netdevice), but holds a
kobject reference.  Then when todo runs the actual last put free
happens.

Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>

No differences found