1 Oct 2005 03:13
Re: [RFC][PATCH] identify in_dev_get rcu read-side critical sections
Herbert Xu <herbert <at> gondor.apana.org.au>
2005-10-01 01:13:12 GMT
2005-10-01 01:13:12 GMT
On Thu, Sep 29, 2005 at 06:06:50PM -0700, Suzanne Wood wrote: > > Are there three cases then? RCU protection with refcnt, RCU without refcnt, > and the bare cast of the dereference? Correct. The following patch renames __in_dev_get() to __in_dev_get_rtnl() and introduces __in_dev_get_rcu() to cover the second case. 1) RCU with refcnt should use in_dev_get(). 2) RCU without refcnt should use __in_dev_get_rcu(). 3) All others must hold RTNL and use __in_dev_get_rtnl(). There is one exception in net/ipv4/route.c which is in fact a pre-existing race condition. I've marked it as such so that we remember to fix it. This patch is based on suggestions and prior work by Suzanne Wood and Paul McKenney. Signed-off-by: Herbert Xu <herbert <at> gondor.apana.org.au> Cheers, -- -- Visit Openswan at http://www.openswan.org/ Email: Herbert Xu ~{PmV>HI~} <herbert <at> gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
(Continue reading)
RSS Feed