Re: [PATCH 10/14] nfsd: implement the xattr procedure functions.

kbuild test robot
2020-03-12T10:28:30Z

Hi Frank,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on nfsd/nfsd-next]
[also build test WARNING on nfs/linux-next linus/master v5.6-rc5 next-20200311]
[cannot apply to cel/for-next]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url: https://github.com/0day-ci/linux/commits/Frank-van-der-Linden/server-side-user-xattr-support-RFC-8276/20200312-064928
base: git://linux-nfs.org/~bfields/linux.git nfsd-next
reproduce:
# apt-get install sparse
# sparse version: v0.6.1-174-g094d5a94-dirty
make ARCH=x86_64 allmodconfig
make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>

sparse warnings: (new ones prefixed by >>)

fs/nfsd/nfs4proc.c:1541:24: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be32 [assigned] [usertype] status @@ got e] status @@
fs/nfsd/nfs4proc.c:1541:24: sparse: expected restricted __be32 [assigned] [usertype] status
fs/nfsd/nfs4proc.c:1541:24: sparse: got int
>> fs/nfsd/nfs4proc.c:2122:13: sparse: sparse: incorrect type in assignment (different base types) @@ expected int ret @@ got restricted __int ret @@
>> fs/nfsd/nfs4proc.c:2122:13: sparse: expected int ret
>> fs/nfsd/nfs4proc.c:2122:13: sparse: got restricted __be32
>> fs/nfsd/nfs4proc.c:2129:16: sparse: sparse: incorrect type in return expression (different base types) @@ expected restricted __be32 @@ got be32 @@
>> fs/nfsd/nfs4proc.c:2129:16: sparse: expected restricted __be32
>> fs/nfsd/nfs4proc.c:2129:16: sparse: got int ret
fs/nfsd/nfs4proc.c:2145:13: sparse: sparse: incorrect type in assignment (different base types) @@ expected int ret @@ got restricted __int ret @@
fs/nfsd/nfs4proc.c:2145:13: sparse: expected int ret
fs/nfsd/nfs4proc.c:2145:13: sparse: got restricted __be32
fs/nfsd/nfs4proc.c:2148:24: sparse: sparse: incorrect type in return expression (different base types) @@ expected restricted __be32 @@ got be32 @@
fs/nfsd/nfs4proc.c:2148:24: sparse: expected restricted __be32
fs/nfsd/nfs4proc.c:2148:24: sparse: got int ret
fs/nfsd/nfs4proc.c:2165:13: sparse: sparse: incorrect type in assignment (different base types) @@ expected int ret @@ got restricted __int ret @@
fs/nfsd/nfs4proc.c:2165:13: sparse: expected int ret
fs/nfsd/nfs4proc.c:2165:13: sparse: got restricted __be32
fs/nfsd/nfs4proc.c:2171:16: sparse: sparse: incorrect type in return expression (different base types) @@ expected restricted __be32 @@ got be32 @@
fs/nfsd/nfs4proc.c:2171:16: sparse: expected restricted __be32
fs/nfsd/nfs4proc.c:2171:16: sparse: got int ret

vim +2122 fs/nfsd/nfs4proc.c

2111
2112 static __be32
2113 nfsd4_setxattr(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate,
2114 union nfsd4_op_u *u)
2115 {
2116 struct nfsd4_setxattr *setxattr = &u->setxattr;
2117 int ret;
2118
2119 if (opens_in_grace(SVC_NET(rqstp)))
2120 return nfserr_grace;
2121
> 2122 ret = nfsd_setxattr(rqstp, &cstate->current_fh, setxattr->setxa_name,
2123 setxattr->setxa_buf, setxattr->setxa_len,
2124 setxattr->setxa_flags);
2125
2126 if (!ret)
2127 set_change_info(&setxattr->setxa_cinfo, &cstate->current_fh);
2128
> 2129 return ret;
2130 }
2131

---
0-DAY CI Kernel Test Service, Intel Corporation