1. 20 May, 2003 17 commits
  2. 19 May, 2003 14 commits
  3. 20 May, 2003 8 commits
  4. 19 May, 2003 1 commit
    • David S. Miller's avatar
      [NET]: Fix netdevice unregister races. · ff936f4e
      David S. Miller authored
      We had two major issues when unregistering networking devices.
      1) Even trying to run hotplug asynchronously could deadlock
         if keventd was currently trying to get the RTNL semaphore
         in order to process linkwatch events.
      2) Unregister needs to wait for the last reference to go away
         before the finalization of the unregister can execute.  This
         cannot occur under the RTNL semaphore as this is deadlock
         prone as well.
      
      The solution is to do all of this stuff after dropping the
      RTNL semaphore.  rtnl_lock, if it is about to protect a region
      of code that could unregister network devices, registers a list
      to which unregistered netdevs are attached.  At rtnl_unlock time
      this list is processed to wait for refcounts to drop to zero and
      then finalize the unregister.
      ff936f4e