cregit-Linux how code gets into the kernel

Release 4.8 net/sunrpc/auth_null.c

Directory: net/sunrpc
/*
 * linux/net/sunrpc/auth_null.c
 *
 * AUTH_NULL authentication. Really :-)
 *
 * Copyright (C) 1996, Olaf Kirch <okir@monad.swb.de>
 */

#include <linux/types.h>
#include <linux/module.h>
#include <linux/sunrpc/clnt.h>

#if IS_ENABLED(CONFIG_SUNRPC_DEBUG)

# define RPCDBG_FACILITY	RPCDBG_AUTH
#endif


static struct rpc_auth null_auth;

static struct rpc_cred null_cred;


static struct rpc_auth * nul_create(struct rpc_auth_create_args *args, struct rpc_clnt *clnt) { atomic_inc(&null_auth.au_count); return &null_auth; }

Contributors

PersonTokensPropCommitsCommitProp
pre-gitpre-git1963.33%125.00%
trond myklebusttrond myklebust1136.67%375.00%
Total30100.00%4100.00%


static void nul_destroy(struct rpc_auth *auth) { }

Contributors

PersonTokensPropCommitsCommitProp
pre-gitpre-git990.00%150.00%
trond myklebusttrond myklebust110.00%150.00%
Total10100.00%2100.00%

/* * Lookup NULL creds for current process */
static struct rpc_cred * nul_lookup_cred(struct rpc_auth *auth, struct auth_cred *acred, int flags) { if (flags & RPCAUTH_LOOKUP_RCU) return &null_cred; return get_rpccred(&null_cred); }

Contributors

PersonTokensPropCommitsCommitProp
trond myklebusttrond myklebust2360.53%240.00%
neil brownneil brown1026.32%120.00%
linus torvaldslinus torvalds37.89%120.00%
pre-gitpre-git25.26%120.00%
Total38100.00%5100.00%

/* * Destroy cred handle. */
static void nul_destroy_cred(struct rpc_cred *cred) { }

Contributors

PersonTokensPropCommitsCommitProp
pre-gitpre-git990.00%150.00%
trond myklebusttrond myklebust110.00%150.00%
Total10100.00%2100.00%

/* * Match cred handle against current process */
static int nul_match(struct auth_cred *acred, struct rpc_cred *cred, int taskflags) { return 1; }

Contributors

PersonTokensPropCommitsCommitProp
pre-gitpre-git1777.27%266.67%
trond myklebusttrond myklebust522.73%133.33%
Total22100.00%3100.00%

/* * Marshal credential. */
static __be32 * nul_marshal(struct rpc_task *task, __be32 *p) { *p++ = htonl(RPC_AUTH_NULL); *p++ = 0; *p++ = htonl(RPC_AUTH_NULL); *p++ = 0; return p; }

Contributors

PersonTokensPropCommitsCommitProp
pre-gitpre-git4795.92%150.00%
alexey dobriyanalexey dobriyan24.08%150.00%
Total49100.00%2100.00%

/* * Refresh credential. This is a no-op for AUTH_NULL */
static int nul_refresh(struct rpc_task *task) { set_bit(RPCAUTH_CRED_UPTODATE, &task->tk_rqstp->rq_cred->cr_flags); return 0; }

Contributors

PersonTokensPropCommitsCommitProp
pre-gitpre-git1450.00%125.00%
trond myklebusttrond myklebust1450.00%375.00%
Total28100.00%4100.00%


static __be32 * nul_validate(struct rpc_task *task, __be32 *p) { rpc_authflavor_t flavor; u32 size; flavor = ntohl(*p++); if (flavor != RPC_AUTH_NULL) { printk("RPC: bad verf flavor: %u\n", flavor); return ERR_PTR(-EIO); } size = ntohl(*p++); if (size != 0) { printk("RPC: bad verf size: %u\n", size); return ERR_PTR(-EIO); } return p; }

Contributors

PersonTokensPropCommitsCommitProp
pre-gitpre-git5765.52%125.00%
chuck leverchuck lever1820.69%125.00%
andy adamsonandy adamson1011.49%125.00%
alexey dobriyanalexey dobriyan22.30%125.00%
Total87100.00%4100.00%

const struct rpc_authops authnull_ops = { .owner = THIS_MODULE, .au_flavor = RPC_AUTH_NULL, .au_name = "NULL", .create = nul_create, .destroy = nul_destroy, .lookup_cred = nul_lookup_cred, }; static struct rpc_auth null_auth = { .au_cslack = NUL_CALLSLACK, .au_rslack = NUL_REPLYSLACK, .au_flags = RPCAUTH_AUTH_NO_CRKEY_TIMEOUT, .au_ops = &authnull_ops, .au_flavor = RPC_AUTH_NULL, .au_count = ATOMIC_INIT(0), }; static const struct rpc_credops null_credops = { .cr_name = "AUTH_NULL", .crdestroy = nul_destroy_cred, .crbind = rpcauth_generic_bind_cred, .crmatch = nul_match, .crmarshal = nul_marshal, .crrefresh = nul_refresh, .crvalidate = nul_validate, }; static struct rpc_cred null_cred = { .cr_lru = LIST_HEAD_INIT(null_cred.cr_lru), .cr_auth = &null_auth, .cr_ops = &null_credops, .cr_count = ATOMIC_INIT(1), .cr_flags = 1UL << RPCAUTH_CRED_UPTODATE, #if IS_ENABLED(CONFIG_SUNRPC_DEBUG) .cr_magic = RPCAUTH_CRED_MAGIC, #endif };

Overall Contributors

PersonTokensPropCommitsCommitProp
pre-gitpre-git21343.47%27.41%
trond myklebusttrond myklebust16333.27%1555.56%
dave jonesdave jones316.33%13.70%
chuck leverchuck lever214.29%27.41%
linus torvaldslinus torvalds132.65%13.70%
jeff laytonjeff layton122.45%13.70%
neil brownneil brown102.04%13.70%
andy adamsonandy adamson102.04%13.70%
christoph hellwigchristoph hellwig81.63%13.70%
scott mayhewscott mayhew51.02%13.70%
alexey dobriyanalexey dobriyan40.82%13.70%
Total490100.00%27100.00%
Directory: net/sunrpc
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.