On Sat, Sep 20, 2014 at 11:25:39PM +0400, Kirill Tkhai wrote: > On 20.09.2014 22:57, Peter Zijlstra wrote: > > On Sat, Sep 20, 2014 at 08:51:28PM +0400, Kirill Tkhai wrote: > >> From: Kirill Tkhai <ktk...@parallels.com> > >> > >> dl_bw_of() dereferences rq->rd which has to have RCU read lock held. > >> Probability of use-after-free and memory corruption aren't zero here. > >> > > > > Additionally we might want to add something like: > > lockdep_assert_held_rcu() and put that in dl_bw_of() and other such > > places. > > Should we change (not now, in general) RCU-related pointers to use > rcu_dereference() to have unlocked RCU warnings in dmesg? To catch > a problems like that. > > This may make code worse readable though.
Possibly, we should probably use rcu_assign_pointer() and rcu_dereference() on rq->rd. Sometimes you can avoid that if you're playing games with static objects, but I don't think that is true here. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/