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.
Showing the changes to include/linux (1 of 1 file). Show all
Unified · Split
| @@ -44,7 +44,7 @@ · 43 unmodified lines | ||
| 44 | 44 | struct genradix_root; |
| 45 | 45 | |
| 46 | 46 | struct __genradix { |
| 47 | − struct genradix_root __rcu *root; | |
| 47 | + struct genradix_root *root; | |
| 48 | 48 | }; |
| 49 | 49 | |
| 50 | 50 | /* |