From: Oleg Nesterov Date: Sun, 28 Sep 2014 21:44:21 +0000 (+0200) Subject: rcu: More info about potential deadlocks with rcu_read_unlock() X-Git-Tag: omap-for-v3.19/fixes-rc1~168^2^2^4~1 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ce36f2f3eb6613a73bc6f3a5256bde7dd3f95710;p=pandora-kernel.git 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 Signed-off-by: Paul E. McKenney --- Reading git-diff-tree failed