nfsd4: use more generous NFS4_ACL_MAX
authorJ. Bruce Fields <bfields@redhat.com>
Mon, 11 Nov 2013 16:09:32 +0000 (11:09 -0500)
committerJ. Bruce Fields <bfields@redhat.com>
Sat, 29 Mar 2014 01:24:53 +0000 (21:24 -0400)
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
fs/nfsd/acl.h

index a812fd1..b481e1f 100644 (file)
@@ -39,9 +39,13 @@ struct nfs4_acl;
 struct svc_fh;
 struct svc_rqst;
 
-/* Maximum ACL we'll accept from client; chosen (somewhat arbitrarily) to
- * fit in a page: */
-#define NFS4_ACL_MAX 170
+/*
+ * Maximum ACL we'll accept from a client; chosen (somewhat
+ * arbitrarily) so that kmalloc'ing the ACL shouldn't require a
+ * high-order allocation.  This allows 204 ACEs on x86_64:
+ */
+#define NFS4_ACL_MAX ((PAGE_SIZE - sizeof(struct nfs4_acl)) \
+                       / sizeof(struct nfs4_ace))
 
 struct nfs4_acl *nfs4_acl_new(int);
 int nfs4_acl_get_whotype(char *, u32);