To address this error: CC [M] fs/nfsd/filecache.o CHECK /home/cel/src/linux/linux/fs/nfsd/filecache.c /home/cel/src/linux/linux/fs/nfsd/filecache.c:772:9: error: incompatible types in comparison expression (different address spaces): /home/cel/src/linux/linux/fs/nfsd/filecache.c:772:9: struct net [noderef] __rcu * /home/cel/src/linux/linux/fs/nfsd/filecache.c:772:9: struct net * The "net" field in struct nfsd_fcache_disposal is not annotated as requiring an RCU assignment, so replace the macro that includes an invocation of rcu_check_sparse() with an equivalent that does not. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> --- fs/nfsd/filecache.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/nfsd/filecache.c b/fs/nfsd/filecache.c index fdf89fcf1a0c..3b172eda0e9a 100644 --- a/fs/nfsd/filecache.c +++ b/fs/nfsd/filecache.c @@ -772,7 +772,7 @@ nfsd_alloc_fcache_disposal(struct net *net) static void nfsd_free_fcache_disposal(struct nfsd_fcache_disposal *l) { - rcu_assign_pointer(l->net, NULL); + WRITE_ONCE(l->net, NULL); cancel_work_sync(&l->work); nfsd_file_dispose_list(&l->freeme); kfree_rcu(l, rcu);