mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2024-12-28 16:53:49 +00:00
SUNRPC: Fix unx_lookup_cred() allocation
Default to the same mempool allocation strategy as for rpc_malloc(). Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
This commit is contained in:
parent
910ad38697
commit
059ee82b64
@ -40,17 +40,19 @@ unx_destroy(struct rpc_auth *auth)
|
||||
/*
|
||||
* Lookup AUTH_UNIX creds for current process
|
||||
*/
|
||||
static struct rpc_cred *
|
||||
unx_lookup_cred(struct rpc_auth *auth, struct auth_cred *acred, int flags)
|
||||
static struct rpc_cred *unx_lookup_cred(struct rpc_auth *auth,
|
||||
struct auth_cred *acred, int flags)
|
||||
{
|
||||
gfp_t gfp = GFP_KERNEL;
|
||||
struct rpc_cred *ret;
|
||||
|
||||
if (flags & RPCAUTH_LOOKUP_ASYNC)
|
||||
gfp = GFP_NOWAIT | __GFP_NOWARN;
|
||||
ret = mempool_alloc(unix_pool, gfp);
|
||||
if (!ret)
|
||||
return ERR_PTR(-ENOMEM);
|
||||
ret = kmalloc(sizeof(*ret), rpc_task_gfp_mask());
|
||||
if (!ret) {
|
||||
if (!(flags & RPCAUTH_LOOKUP_ASYNC))
|
||||
return ERR_PTR(-ENOMEM);
|
||||
ret = mempool_alloc(unix_pool, GFP_NOWAIT);
|
||||
if (!ret)
|
||||
return ERR_PTR(-ENOMEM);
|
||||
}
|
||||
rpcauth_init_cred(ret, acred, auth, &unix_credops);
|
||||
ret->cr_flags = 1UL << RPCAUTH_CRED_UPTODATE;
|
||||
return ret;
|
||||
|
Loading…
Reference in New Issue
Block a user