Messages in this thread | | | Date | Thu, 19 Jan 2012 07:58:44 -0800 | From | Tejun Heo <> | Subject | Re: [PATCH 01/12] blkcg: obtaining blkg should be enclosed inside rcu_read_lock() |
| |
On Thu, Jan 19, 2012 at 10:54:45AM -0500, Vivek Goyal wrote: > > No, no matter whatever synchronization scheme is in use, the code is > > seriously screwed up if it's doing something like, > > > > lock(); > > a = lookup(); > > unlock(); > > return a; > > > > You should *NEVER* be doing that. > > I guess ioc_lookup_icq() is doing something similar. We call it under > queue lock. Take rcu lock inside for sanity of radix tree and then > release rcu lock and return icq.
Yeap, it is. We should be using rcu_dereference_check() there too.
Thanks.
-- tejun
| |