Sfoglia il codice sorgente

nfsd4: use more generous NFS4_ACL_MAX

Signed-off-by: J. Bruce Fields <bfields@redhat.com>
J. Bruce Fields 11 anni fa
parent
commit
d139977d00
1 ha cambiato i file con 7 aggiunte e 3 eliminazioni
  1. 7 3
      fs/nfsd/acl.h

+ 7 - 3
fs/nfsd/acl.h

@@ -39,9 +39,13 @@ struct nfs4_acl;
 struct svc_fh;
 struct svc_fh;
 struct svc_rqst;
 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);
 struct nfs4_acl *nfs4_acl_new(int);
 int nfs4_acl_get_whotype(char *, u32);
 int nfs4_acl_get_whotype(char *, u32);