On Thu, Oct 07, 2021 at 12:51:27PM +0300, Andy Shevchenko wrote:
--- a/lib/radix-tree.c +++ b/lib/radix-tree.c @@ -12,19 +12,21 @@ #include <linux/bitmap.h> #include <linux/bitops.h> #include <linux/bug.h> +#include <linux/container_of.h> #include <linux/cpu.h> #include <linux/errno.h> #include <linux/export.h> #include <linux/idr.h> #include <linux/init.h> -#include <linux/kernel.h> #include <linux/kmemleak.h> +#include <linux/math.h> #include <linux/percpu.h> #include <linux/preempt.h> /* in_interrupt() */ #include <linux/radix-tree.h> #include <linux/rcupdate.h> #include <linux/slab.h> #include <linux/string.h> +#include <linux/types.h> #include <linux/xarray.h> /* @@ -285,6 +287,8 @@ radix_tree_node_alloc(gfp_t gfp_mask, struct radix_tree_node *parent, return ret; } +extern void radix_tree_node_rcu_free(struct rcu_head *head);
.c files should not need an extern, this belongs in a .h file somewhere, or something really went wrong here...
thanks,
greg k-h