[Precise][SRU][PATCH 2/2] inetpeer: fix a race in inetpeer_gc_worker()

Andy Whitcroft apw at canonical.com
Wed Sep 11 11:12:35 UTC 2013


On Tue, Sep 10, 2013 at 04:26:42PM -0400, Joseph Salisbury wrote:
> From: Eric Dumazet <edumazet at google.com>
> 
> BugLink: http://bugs.launchpad.net/bugs/1205741
> 
> commit 5faa5df1fa2024 (inetpeer: Invalidate the inetpeer tree along with
> the routing cache) added a race :
> 
> Before freeing an inetpeer, we must respect a RCU grace period, and make
> sure no user will attempt to increase refcnt.
> 
> inetpeer_invalidate_tree() waits for a RCU grace period before inserting
> inetpeer tree into gc_list and waking the worker. At that time, no
> concurrent lookup can find a inetpeer in this tree.
> 
> Signed-off-by: Eric Dumazet <edumazet at google.com>
> Cc: Steffen Klassert <steffen.klassert at secunet.com>
> Acked-by: Steffen Klassert <steffen.klassert at secunet.com>
> Signed-off-by: David S. Miller <davem at davemloft.net>
> Signed-off-by: Joseph Salisbury <joseph.salisbury at canonical.com>
> (cherry picked from commit 55432d2b543a4b6dfae54f5c432a566877a85d90)

Strange ordering for your signed off relative to the cherry-picked, i
would have expected:

(cherry picked from commit 55432d2b543a4b6dfae54f5c432a566877a85d90)
Signed-off-by: Joseph Salisbury <joseph.salisbury at canonical.com>

-apw




More information about the kernel-team mailing list