lkml.org 
[lkml]   [2011]   [Jul]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: INFO: possible circular locking dependency detected
From
Date
egad! Looking at this code more, there's nothing keeping
t->rcu_read_unlock_special safe! If it can be modified by the kthread,
and current, then we must use atomic operations or modify under lock.
Otherwise the old read/modify/write can corrupt it.

t->rcu_read_unlock_special &= ~RCU_READ_UNLOCK_BLOCKED;

is done before the lock is taken in rcu_read_unlock_special. If the
kthread is running rcu_boost() then its code:

t->rcu_read_unlock_special |= RCU_READ_UNLOCK_BOOSTED;
Can even negate the removing of the RCU_READ_UNLOCK_BLOCKED!

-- Steve




\
 
 \ /
  Last update: 2011-07-14 19:49    [from the cache]
©2003-2011 Jasper Spaans