1. 10 Jan, 2008 3 commits
    • Eric Dumazet's avatar
      [IPV4] ROUTE: fix rcu_dereference() uses in /proc/net/rt_cache · 0bcceadc
      Eric Dumazet authored
      In rt_cache_get_next(), no need to guard seq->private by a
      rcu_dereference() since seq is private to the thread running this
      function. Reading seq.private once (as guaranted bu rcu_dereference())
      or several time if compiler really is dumb enough wont change the
      result.
      
      But we miss real spots where rcu_dereference() are needed, both in
      rt_cache_get_first() and rt_cache_get_next()
      Signed-off-by: default avatarEric Dumazet <dada1@cosmosbay.com>
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0bcceadc
    • Pavel Emelyanov's avatar
      [NEIGH]: Fix race between neigh_parms_release and neightbl_fill_parms · 9cd40029
      Pavel Emelyanov authored
      The neightbl_fill_parms() is called under the write-locked tbl->lock
      and accesses the parms->dev. The negh_parm_release() calls the
      dev_put(parms->dev) without this lock. This creates a tiny race window
      on which the parms contains potentially stale dev pointer.
      
      To fix this race it's enough to move the dev_put() upper under the
      tbl->lock, but note, that the parms are held by neighbors and thus can
      live after the neigh_parms_release() is called, so we still can have a
      parm with bad dev pointer.
      
      I didn't find where the neigh->parms->dev is accessed, but still think
      that putting the dev is to be done in a place, where the parms are
      really freed. Am I right with that?
      Signed-off-by: default avatarPavel Emelyanov <xemul@openvz.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9cd40029
    • Mirko Lindner's avatar
      [NIU]: Support for Marvell PHY · b0de8e40
      Mirko Lindner authored
      From: Mirko Lindner <mlindner@marvell.com>
      
      This patch makes necessary changes in the Neptune driver to support 
      the new Marvell PHY. It also adds support for the LED blinking
      on Neptune cards with Marvell PHY. All registers are using defines
      in the niu.h header file as is already done for the BCM8704 registers.
      
      [ Coding style, etc. cleanups -DaveM ]
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b0de8e40
  2. 09 Jan, 2008 37 commits