From: Linus Torvalds Date: Mon, 21 Apr 2008 04:59:13 +0000 (-0700) Subject: Fix RCU list iterator use of 'rcu_dereference()' X-Git-Tag: v2.6.26-rc1~1136 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cc216c5d429892872f70f76975e243aef7ad9db1;p=pandora-kernel.git Fix RCU list iterator use of 'rcu_dereference()' The RCU iterators used 'rcu_dereference()' on an already-fetched RCU pointer value, which defeats the whole point of the exercise. When we dereference a pointer protected by RCU, we need to make sure that we only fetch the value _once_, because if the compiler ends up re-loading it due to register pressure, the newly reloaded value could be different from the previously fetched one, and you get inconsistent results. Cleaned-up, fixed, and the pointless list_for_each_safe_rcu #define deleted by Paul Kenney. Acked-by: Herbert Xu Signed-off-by: Paul E. McKenney Signed-off-by: Linus Torvalds --- Reading git-diff-tree failed