Re: [PATCH 01/12] blkcg: obtaining blkg should be enclosed insidercu_read_lock()

From: Tejun Heo
Date: Thu Jan 19 2012 - 10:58:48 EST


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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/