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);
        resp->mask = argp->mask;
 
        nfserr = fh_getattr(fh, &resp->stat);
        if (nfserr)
-               goto fail;
+               RETURN_STATUS(nfserr);
 
        if (resp->mask & (NFS_ACL|NFS_ACLCNT)) {
                acl = get_acl(inode, ACL_TYPE_ACCESS);
        if (!p)
                return 0;
        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))
                return 0;
 
                                  resp->acl_default,
                                  resp->mask & NFS_DFACL,
                                  NFS_ACL_DEFAULT);
-       if (n <= 0)
-               return 0;
-       return 1;
+       return (n > 0);
 }
 
 static int nfsaclsvc_encode_attrstatres(struct svc_rqst *rqstp, __be32 *p,
 
 
        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);
        resp->mask = argp->mask;
 
        if (!p)
                return 0;
        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))
                return 0;
 
 
 #define NFS_ACLCNT             0x0002
 #define NFS_DFACL              0x0004
 #define NFS_DFACLCNT           0x0008
+#define NFS_ACL_MASK           0x000f
 
 /* Flag for Default ACL entries */
 #define NFS_ACL_DEFAULT                0x1000