From: Linus Lüssing Date: Mon, 15 Apr 2013 13:43:29 +0000 (+0800) Subject: batman-adv: Fix rcu_barrier() miss due to double call_rcu() in TT code X-Git-Tag: v3.10-rc3~18^2~34^2 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=72822225bd41320a98f5d7cde38317766e18983f;p=pandora-kernel.git batman-adv: Fix rcu_barrier() miss due to double call_rcu() in TT code rcu_barrier() only waits for the currently scheduled rcu functions to finish - it won't wait for any function scheduled via another call_rcu() within an rcu scheduled function. Unfortunately our batadv_tt_orig_list_entry_free_ref() does just that, via a batadv_orig_node_free_ref() call, leading to our rcu_barrier() call potentially missing such a batadv_orig_node_free_ref(). This patch fixes this issue by calling the batadv_orig_node_free_rcu() directly from the rcu callback, removing the unnecessary, additional call_rcu() layer here. Signed-off-by: Linus Lüssing Signed-off-by: Marek Lindner Acked-by: Antonio Quartulli --- Reading git-diff-tree failed