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

Commit bcaab953 authored by J. Bruce Fields's avatar J. Bruce Fields
Browse files

nfsd4: remove nfs4_acl_new



This is a not-that-useful kmalloc wrapper.  And I'd like one of the
callers to actually use something other than kmalloc.

Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
parent 29c353b3
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -47,7 +47,7 @@ struct svc_rqst;
#define NFS4_ACL_MAX ((PAGE_SIZE - sizeof(struct nfs4_acl)) \
			/ sizeof(struct nfs4_ace))

struct nfs4_acl *nfs4_acl_new(int);
int nfs4_acl_bytes(int entries);
int nfs4_acl_get_whotype(char *, u32);
__be32 nfs4_acl_write_who(struct xdr_stream *xdr, int who);

+8 −10
Original line number Diff line number Diff line
@@ -161,11 +161,12 @@ nfsd4_get_nfs4_acl(struct svc_rqst *rqstp, struct dentry *dentry,
			size += 2 * dpacl->a_count;
	}

	*acl = nfs4_acl_new(size);
	*acl = kmalloc(nfs4_acl_bytes(size), GFP_KERNEL);
	if (*acl == NULL) {
		error = -ENOMEM;
		goto out;
	}
	(*acl)->naces = 0;

	_posix_to_nfsv4_one(pacl, *acl, flags & ~NFS4_ACL_TYPE_DEFAULT);

@@ -872,16 +873,13 @@ ace2type(struct nfs4_ace *ace)
	return -1;
}

struct nfs4_acl *
nfs4_acl_new(int n)
/*
 * return the size of the struct nfs4_acl required to represent an acl
 * with @entries entries.
 */
int nfs4_acl_bytes(int entries)
{
	struct nfs4_acl *acl;

	acl = kmalloc(sizeof(*acl) + n*sizeof(struct nfs4_ace), GFP_KERNEL);
	if (acl == NULL)
		return NULL;
	acl->naces = 0;
	return acl;
	return sizeof(struct nfs4_acl) + entries * sizeof(struct nfs4_ace);
}

static struct {
+1 −1
Original line number Diff line number Diff line
@@ -309,7 +309,7 @@ nfsd4_decode_fattr(struct nfsd4_compoundargs *argp, u32 *bmval,
		if (nace > NFS4_ACL_MAX)
			return nfserr_fbig;

		*acl = nfs4_acl_new(nace);
		*acl = kmalloc(nfs4_acl_bytes(nace), GFP_KERNEL);
		if (*acl == NULL)
			return nfserr_jukebox;