From: Luc Van Oostenryck <luc.vanoostenryck@xxxxxxxxx> Subject: lib/generic-radix-tree.c: remove unneeded __rcu struct __genradix is defined as having its member 'root' annotated as __rcu. But in the corresponding API RCU is not used. Sparse reports this type mismatch as: lib/generic-radix-tree.c:56:35: warning: incorrect type in initializer (different address spaces) lib/generic-radix-tree.c:56:35: expected struct genradix_root *r lib/generic-radix-tree.c:56:35: got struct genradix_root [noderef] <asn:4> *__val with 6 other ones. So, correct root's type by removing this unneeded __rcu. Link: http://lkml.kernel.org/r/20200621161745.55396-1-luc.vanoostenryck@xxxxxxxxx Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@xxxxxxxxx> Cc: Kent Overstreet <kent.overstreet@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- include/linux/generic-radix-tree.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/include/linux/generic-radix-tree.h~lib-generic-radix-treec-remove-unneeded-__rcu +++ a/include/linux/generic-radix-tree.h @@ -44,7 +44,7 @@ struct genradix_root; struct __genradix { - struct genradix_root __rcu *root; + struct genradix_root *root; }; /* _