NFSD: Fix nfsd4_encode_fattr4() crasher
BugLink: https://bugs.launchpad.net/bugs/2070349
[ Upstream commit 18180a4550d08be4eb0387fe83f02f703f92d4e7 ]
Ensure that args.acl is initialized early. It is used in an
unconditional call to kfree() on the way out of
nfsd4_encode_fattr4().
Reported-by: Scott Mayhew <smayhew@redhat.com>
Fixes: 83ab8678ad ("NFSD: Add struct nfsd4_fattr_args")
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Manuel Diewald <manuel.diewald@canonical.com>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
This commit is contained in:
committed by
Stefan Bader
parent
fbf6672479
commit
2e16ecd102
+1
-1
@@ -3511,6 +3511,7 @@ nfsd4_encode_fattr4(struct svc_rqst *rqstp, struct xdr_stream *xdr,
|
||||
args.exp = exp;
|
||||
args.dentry = dentry;
|
||||
args.ignore_crossmnt = (ignore_crossmnt != 0);
|
||||
args.acl = NULL;
|
||||
|
||||
/*
|
||||
* Make a local copy of the attribute bitmap that can be modified.
|
||||
@@ -3565,7 +3566,6 @@ nfsd4_encode_fattr4(struct svc_rqst *rqstp, struct xdr_stream *xdr,
|
||||
} else
|
||||
args.fhp = fhp;
|
||||
|
||||
args.acl = NULL;
|
||||
if (attrmask[0] & FATTR4_WORD0_ACL) {
|
||||
err = nfsd4_get_nfs4_acl(rqstp, dentry, &args.acl);
|
||||
if (err == -EOPNOTSUPP)
|
||||
|
||||
Reference in New Issue
Block a user