[PATCH] rbtree_augmented: fix implicit rcu assign pointer dependency

From: Paul Gortmaker
Date: Sun Sep 18 2016 - 17:53:41 EST


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 <dhowells@xxxxxxxxxx>
Cc: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx>

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
--
2.5.0