The quilt patch titled Subject: radix-tree: move declarations to header has been removed from the -mm tree. Its filename was radix-tree-move-declarations-to-header.patch This patch was dropped because it was merged into the mm-hotfixes-stable branch of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm ------------------------------------------------------ From: Arnd Bergmann <arnd@xxxxxxxx> Subject: radix-tree: move declarations to header Date: Tue, 16 May 2023 21:41:54 +0200 The xarray.c file contains the only call to radix_tree_node_rcu_free(), and it comes with its own extern declaration for it. This means the function definition causes a missing-prototype warning: lib/radix-tree.c:288:6: error: no previous prototype for 'radix_tree_node_rcu_free' [-Werror=missing-prototypes] Instead, move the declaration for this function to a new header that can be included by both, and do the same for the radix_tree_node_cachep variable that has the same underlying problem but does not cause a warning with gcc. [zhangpeng.00@xxxxxxxxxxxxx: fix building radix tree test suite] Link: https://lkml.kernel.org/r/20230521095450.21332-1-zhangpeng.00@xxxxxxxxxxxxx Link: https://lkml.kernel.org/r/20230516194212.548910-1-arnd@xxxxxxxxxx Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Peng Zhang <zhangpeng.00@xxxxxxxxxxxxx> Cc: Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- lib/radix-tree.c | 2 ++ lib/radix-tree.h | 8 ++++++++ lib/xarray.c | 6 ++---- tools/testing/radix-tree/Makefile | 5 +++-- 4 files changed, 15 insertions(+), 6 deletions(-) --- a/lib/radix-tree.c~radix-tree-move-declarations-to-header +++ a/lib/radix-tree.c @@ -27,6 +27,8 @@ #include <linux/string.h> #include <linux/xarray.h> +#include "radix-tree.h" + /* * Radix tree node cache. */ --- /dev/null +++ a/lib/radix-tree.h @@ -0,0 +1,8 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* radix-tree helpers that are only shared with xarray */ + +struct kmem_cache; +struct rcu_head; + +extern struct kmem_cache *radix_tree_node_cachep; +extern void radix_tree_node_rcu_free(struct rcu_head *head); --- a/lib/xarray.c~radix-tree-move-declarations-to-header +++ a/lib/xarray.c @@ -12,6 +12,8 @@ #include <linux/slab.h> #include <linux/xarray.h> +#include "radix-tree.h" + /* * Coding conventions in this file: * @@ -247,10 +249,6 @@ void *xas_load(struct xa_state *xas) } EXPORT_SYMBOL_GPL(xas_load); -/* Move the radix tree node cache here */ -extern struct kmem_cache *radix_tree_node_cachep; -extern void radix_tree_node_rcu_free(struct rcu_head *head); - #define XA_RCU_FREE ((struct xarray *)1) static void xa_node_free(struct xa_node *node) --- a/tools/testing/radix-tree/Makefile~radix-tree-move-declarations-to-header +++ a/tools/testing/radix-tree/Makefile @@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 -CFLAGS += -I. -I../../include -g -Og -Wall -D_LGPL_SOURCE -fsanitize=address \ - -fsanitize=undefined +CFLAGS += -I. -I../../include -I../../../lib -g -Og -Wall \ + -D_LGPL_SOURCE -fsanitize=address -fsanitize=undefined LDFLAGS += -fsanitize=address -fsanitize=undefined LDLIBS+= -lpthread -lurcu TARGETS = main idr-test multiorder xarray maple @@ -49,6 +49,7 @@ $(OFILES): Makefile *.h */*.h generated/ ../../../include/linux/xarray.h \ ../../../include/linux/maple_tree.h \ ../../../include/linux/radix-tree.h \ + ../../../lib/radix-tree.h \ ../../../include/linux/idr.h radix-tree.c: ../../../lib/radix-tree.c _ Patches currently in -mm which might be from arnd@xxxxxxxx are kasan-add-kasan_tag_mismatch-prototype.patch kasan-use-internal-prototypes-matching-gcc-13-builtins.patch mm-percpu-unhide-pcpu_embed_first_chunk-prototype.patch mm-page_poison-always-declare-__kernel_map_pages-function.patch mm-sparse-mark-populate_section_memmap-static.patch lib-devmem_is_allowed-include-linux-ioh.patch locking-add-lockevent_read-prototype.patch panic-hide-unused-global-functions.patch panic-make-function-declarations-visible.patch kunit-include-debugfs-header-file.patch init-consolidate-prototypes-in-linux-inith.patch init-move-cifs_root_data-prototype-into-linux-mounth.patch thread_info-move-function-declarations-to-linux-thread_infoh.patch time_namespace-always-provide-arch_get_vdso_data-prototype-for-vdso.patch kcov-add-prototypes-for-helper-functions.patch decompressor-provide-missing-prototypes.patch syscalls-add-sys_ni_posix_timers-prototype.patch