Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7b8f4586 authored by Kinglong Mee's avatar Kinglong Mee Committed by J. Bruce Fields
Browse files

nfsd: Add macro NFS_ACL_MASK for ACL

parent e446d66d
Loading
Loading
Loading
Loading
+4 −6
Original line number Original line Diff line number Diff line
@@ -44,13 +44,13 @@ static __be32 nfsacld_proc_getacl(struct svc_rqst * rqstp,


	inode = d_inode(fh->fh_dentry);
	inode = d_inode(fh->fh_dentry);


	if (argp->mask & ~(NFS_ACL|NFS_ACLCNT|NFS_DFACL|NFS_DFACLCNT))
	if (argp->mask & ~NFS_ACL_MASK)
		RETURN_STATUS(nfserr_inval);
		RETURN_STATUS(nfserr_inval);
	resp->mask = argp->mask;
	resp->mask = argp->mask;


	nfserr = fh_getattr(fh, &resp->stat);
	nfserr = fh_getattr(fh, &resp->stat);
	if (nfserr)
	if (nfserr)
		goto fail;
		RETURN_STATUS(nfserr);


	if (resp->mask & (NFS_ACL|NFS_ACLCNT)) {
	if (resp->mask & (NFS_ACL|NFS_ACLCNT)) {
		acl = get_acl(inode, ACL_TYPE_ACCESS);
		acl = get_acl(inode, ACL_TYPE_ACCESS);
@@ -202,7 +202,7 @@ static int nfsaclsvc_decode_setaclargs(struct svc_rqst *rqstp, __be32 *p,
	if (!p)
	if (!p)
		return 0;
		return 0;
	argp->mask = ntohl(*p++);
	argp->mask = ntohl(*p++);
	if (argp->mask & ~(NFS_ACL|NFS_ACLCNT|NFS_DFACL|NFS_DFACLCNT) ||
	if (argp->mask & ~NFS_ACL_MASK ||
	    !xdr_argsize_check(rqstp, p))
	    !xdr_argsize_check(rqstp, p))
		return 0;
		return 0;


@@ -293,9 +293,7 @@ static int nfsaclsvc_encode_getaclres(struct svc_rqst *rqstp, __be32 *p,
				  resp->acl_default,
				  resp->acl_default,
				  resp->mask & NFS_DFACL,
				  resp->mask & NFS_DFACL,
				  NFS_ACL_DEFAULT);
				  NFS_ACL_DEFAULT);
	if (n <= 0)
	return (n > 0);
		return 0;
	return 1;
}
}


static int nfsaclsvc_encode_attrstatres(struct svc_rqst *rqstp, __be32 *p,
static int nfsaclsvc_encode_attrstatres(struct svc_rqst *rqstp, __be32 *p,
+2 −2
Original line number Original line Diff line number Diff line
@@ -41,7 +41,7 @@ static __be32 nfsd3_proc_getacl(struct svc_rqst * rqstp,


	inode = d_inode(fh->fh_dentry);
	inode = d_inode(fh->fh_dentry);


	if (argp->mask & ~(NFS_ACL|NFS_ACLCNT|NFS_DFACL|NFS_DFACLCNT))
	if (argp->mask & ~NFS_ACL_MASK)
		RETURN_STATUS(nfserr_inval);
		RETURN_STATUS(nfserr_inval);
	resp->mask = argp->mask;
	resp->mask = argp->mask;


@@ -148,7 +148,7 @@ static int nfs3svc_decode_setaclargs(struct svc_rqst *rqstp, __be32 *p,
	if (!p)
	if (!p)
		return 0;
		return 0;
	args->mask = ntohl(*p++);
	args->mask = ntohl(*p++);
	if (args->mask & ~(NFS_ACL|NFS_ACLCNT|NFS_DFACL|NFS_DFACLCNT) ||
	if (args->mask & ~NFS_ACL_MASK ||
	    !xdr_argsize_check(rqstp, p))
	    !xdr_argsize_check(rqstp, p))
		return 0;
		return 0;


+1 −0
Original line number Original line Diff line number Diff line
@@ -22,6 +22,7 @@
#define NFS_ACLCNT		0x0002
#define NFS_ACLCNT		0x0002
#define NFS_DFACL		0x0004
#define NFS_DFACL		0x0004
#define NFS_DFACLCNT		0x0008
#define NFS_DFACLCNT		0x0008
#define NFS_ACL_MASK		0x000f


/* Flag for Default ACL entries */
/* Flag for Default ACL entries */
#define NFS_ACL_DEFAULT		0x1000
#define NFS_ACL_DEFAULT		0x1000