Commit 18180a45 authored by Chuck Lever's avatar Chuck Lever
Browse files

NFSD: Fix nfsd4_encode_fattr4() crasher



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: default avatarScott Mayhew <smayhew@redhat.com>
Fixes: 83ab8678 ("NFSD: Add struct nfsd4_fattr_args")
Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
parent 8ddb7142
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -3515,6 +3515,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.
@@ -3573,7 +3574,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)