1. 27 10月, 2005 11 次提交
  2. 26 10月, 2005 7 次提交
  3. 25 10月, 2005 5 次提交
  4. 24 10月, 2005 16 次提交
  5. 23 10月, 2005 1 次提交
    • H
      [NEIGH] Fix timer leak in neigh_changeaddr · 49636bb1
      Herbert Xu 提交于
      neigh_changeaddr attempts to delete neighbour timers without setting
      nud_state.  This doesn't work because the timer may have already fired
      when we acquire the write lock in neigh_changeaddr.  The result is that
      the timer may keep firing for quite a while until the entry reaches
      NEIGH_FAILED.
      
      It should be setting the nud_state straight away so that if the timer
      has already fired it can simply exit once we relinquish the lock.
      
      In fact, this whole function is simply duplicating the logic in
      neigh_ifdown which in turn is already doing the right thing when
      it comes to deleting timers and setting nud_state.
      
      So all we have to do is take that code out and put it into a common
      function and make both neigh_changeaddr and neigh_ifdown call it.
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      49636bb1