提交 f1c0a861 编写于 作者: T Trond Myklebust

SUNRPC: Mark auth and cred operation tables as constant.

Also do the same for gss_api operation tables.
Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
上级 de7a8ce3
......@@ -35,7 +35,7 @@ struct rpc_credops;
struct rpc_cred {
struct hlist_node cr_hash; /* hash chain */
struct rpc_auth * cr_auth;
struct rpc_credops * cr_ops;
const struct rpc_credops *cr_ops;
unsigned long cr_expire; /* when to gc */
atomic_t cr_count; /* ref count */
unsigned short cr_flags; /* various flags */
......@@ -73,7 +73,7 @@ struct rpc_auth {
unsigned int au_verfsize;
unsigned int au_flags; /* various flags */
struct rpc_authops * au_ops; /* operations */
const struct rpc_authops *au_ops; /* operations */
rpc_authflavor_t au_flavor; /* pseudoflavor (note may
* differ from the flavor in
* au_ops->au_flavor in gss
......@@ -119,14 +119,11 @@ struct rpc_credops {
void *, __be32 *, void *);
};
extern struct rpc_authops authunix_ops;
extern struct rpc_authops authnull_ops;
#ifdef CONFIG_SUNRPC_SECURE
extern struct rpc_authops authdes_ops;
#endif
extern const struct rpc_authops authunix_ops;
extern const struct rpc_authops authnull_ops;
int rpcauth_register(struct rpc_authops *);
int rpcauth_unregister(struct rpc_authops *);
int rpcauth_register(const struct rpc_authops *);
int rpcauth_unregister(const struct rpc_authops *);
struct rpc_auth * rpcauth_create(rpc_authflavor_t, struct rpc_clnt *);
void rpcauth_release(struct rpc_auth *);
struct rpc_cred * rpcauth_lookup_credcache(struct rpc_auth *, struct auth_cred *, int);
......
......@@ -77,7 +77,7 @@ struct gss_api_mech {
struct module *gm_owner;
struct xdr_netobj gm_oid;
char *gm_name;
struct gss_api_ops *gm_ops;
const struct gss_api_ops *gm_ops;
/* pseudoflavors supported by this mechanism: */
int gm_pf_num;
struct pf_desc * gm_pfs;
......
......@@ -19,7 +19,7 @@
#endif
static DEFINE_SPINLOCK(rpc_authflavor_lock);
static struct rpc_authops * auth_flavors[RPC_AUTH_MAXFLAVOR] = {
static const struct rpc_authops *auth_flavors[RPC_AUTH_MAXFLAVOR] = {
&authnull_ops, /* AUTH_NULL */
&authunix_ops, /* AUTH_UNIX */
NULL, /* others can be loadable modules */
......@@ -33,7 +33,7 @@ pseudoflavor_to_flavor(u32 flavor) {
}
int
rpcauth_register(struct rpc_authops *ops)
rpcauth_register(const struct rpc_authops *ops)
{
rpc_authflavor_t flavor;
int ret = -EPERM;
......@@ -50,7 +50,7 @@ rpcauth_register(struct rpc_authops *ops)
}
int
rpcauth_unregister(struct rpc_authops *ops)
rpcauth_unregister(const struct rpc_authops *ops)
{
rpc_authflavor_t flavor;
int ret = -EPERM;
......@@ -70,7 +70,7 @@ struct rpc_auth *
rpcauth_create(rpc_authflavor_t pseudoflavor, struct rpc_clnt *clnt)
{
struct rpc_auth *auth;
struct rpc_authops *ops;
const struct rpc_authops *ops;
u32 flavor = pseudoflavor_to_flavor(pseudoflavor);
auth = ERR_PTR(-EINVAL);
......
......@@ -54,9 +54,9 @@
#include <linux/sunrpc/gss_api.h>
#include <asm/uaccess.h>
static struct rpc_authops authgss_ops;
static const struct rpc_authops authgss_ops;
static struct rpc_credops gss_credops;
static const struct rpc_credops gss_credops;
#ifdef RPC_DEBUG
# define RPCDBG_FACILITY RPCDBG_AUTH
......@@ -1193,7 +1193,7 @@ gss_unwrap_resp(struct rpc_task *task,
return status;
}
static struct rpc_authops authgss_ops = {
static const struct rpc_authops authgss_ops = {
.owner = THIS_MODULE,
.au_flavor = RPC_AUTH_GSS,
#ifdef RPC_DEBUG
......@@ -1205,7 +1205,7 @@ static struct rpc_authops authgss_ops = {
.crcreate = gss_create_cred
};
static struct rpc_credops gss_credops = {
static const struct rpc_credops gss_credops = {
.cr_name = "AUTH_GSS",
.crdestroy = gss_destroy_cred,
.cr_init = gss_cred_init,
......
......@@ -201,7 +201,7 @@ gss_delete_sec_context_kerberos(void *internal_ctx) {
kfree(kctx);
}
static struct gss_api_ops gss_kerberos_ops = {
static const struct gss_api_ops gss_kerberos_ops = {
.gss_import_sec_context = gss_import_sec_context_kerberos,
.gss_get_mic = gss_get_mic_kerberos,
.gss_verify_mic = gss_verify_mic_kerberos,
......
......@@ -202,7 +202,7 @@ gss_get_mic_spkm3(struct gss_ctx *ctx,
return err;
}
static struct gss_api_ops gss_spkm3_ops = {
static const struct gss_api_ops gss_spkm3_ops = {
.gss_import_sec_context = gss_import_sec_context_spkm3,
.gss_get_mic = gss_get_mic_spkm3,
.gss_verify_mic = gss_verify_mic_spkm3,
......
......@@ -101,7 +101,7 @@ nul_validate(struct rpc_task *task, __be32 *p)
return p;
}
struct rpc_authops authnull_ops = {
const struct rpc_authops authnull_ops = {
.owner = THIS_MODULE,
.au_flavor = RPC_AUTH_NULL,
#ifdef RPC_DEBUG
......@@ -122,7 +122,7 @@ struct rpc_auth null_auth = {
};
static
struct rpc_credops null_credops = {
const struct rpc_credops null_credops = {
.cr_name = "AUTH_NULL",
.crdestroy = nul_destroy_cred,
.crmatch = nul_match,
......
......@@ -34,7 +34,7 @@ struct unx_cred {
static struct rpc_auth unix_auth;
static struct rpc_cred_cache unix_cred_cache;
static struct rpc_credops unix_credops;
static const struct rpc_credops unix_credops;
static struct rpc_auth *
unx_create(struct rpc_clnt *clnt, rpc_authflavor_t flavor)
......@@ -205,7 +205,7 @@ unx_validate(struct rpc_task *task, __be32 *p)
return p;
}
struct rpc_authops authunix_ops = {
const struct rpc_authops authunix_ops = {
.owner = THIS_MODULE,
.au_flavor = RPC_AUTH_UNIX,
#ifdef RPC_DEBUG
......@@ -233,7 +233,7 @@ struct rpc_auth unix_auth = {
};
static
struct rpc_credops unix_credops = {
const struct rpc_credops unix_credops = {
.cr_name = "AUTH_UNIX",
.crdestroy = unx_destroy_cred,
.crmatch = unx_match,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册