summaryrefslogtreecommitdiff
path: root/kernel/rcu
diff options
context:
space:
mode:
authorOleg Nesterov <oleg@redhat.com>2014-09-28 23:44:21 +0200
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2014-11-13 10:35:40 -0800
commitce36f2f3eb6613a73bc6f3a5256bde7dd3f95710 (patch)
tree7c225c914aabb54c7ce3add5917386f27e67990a /kernel/rcu
parentb6331ae8afe4118884c4b6e14a213758d88422b2 (diff)
rcu: More info about potential deadlocks with rcu_read_unlock()
The comment above rcu_read_unlock() explains the potential deadlock if the caller holds one of the locks taken by rt_mutex_unlock() paths, but it is not clear from this documentation that any lock which can be taken from interrupt can lead to deadlock as well and we need to take rt_mutex_lock() into account too. The problem is that rt_mutex_lock() takes wait_lock without disabling irqs, and thus an interrupt taking some LOCK can obviously race with rcu_read_unlock_special() called with the same LOCK held. Signed-off-by: Oleg Nesterov <oleg@redhat.com> Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Diffstat (limited to 'kernel/rcu')
0 files changed, 0 insertions, 0 deletions