To fix:

In file included from include/linux/interval_tree_generic.h:22:0,
                 from lib/interval_tree.c:2:
include/linux/rbtree_augmented.h: In function ‘__rb_change_child_rcu’:
include/linux/rbtree_augmented.h:139:4: error: implicit declaration of function 
‘rcu_assign_pointer’ [-Werror=implicit-function-declaration]
    rcu_assign_pointer(parent->rb_left, new);

...which shows up on some -rt builds once the rb_replace_node_rcu was
added.  Since rcu_assign_pointer is clearly used, just add the header
for it to the file in question.

Fixes: c1adf20052d80 ("Introduce rb_replace_node_rcu()")
Cc: David Howells <>
Cc: Peter Zijlstra (Intel) <>
Signed-off-by: Paul Gortmaker <>

diff --git a/include/linux/rbtree_augmented.h b/include/linux/rbtree_augmented.h
index d076183e49be..36bfb4dd57ae 100644
--- a/include/linux/rbtree_augmented.h
+++ b/include/linux/rbtree_augmented.h
@@ -26,6 +26,7 @@
 #include <linux/compiler.h>
 #include <linux/rbtree.h>
+#include <linux/rcupdate.h>
  * Please note - only struct rb_augment_callbacks and the prototypes for

Reply via email to