SUNRPC: Restrict sunrpc client exports
The sunrpc client exports are not meant to be part of any official kernel API: they can change at the drop of a hat. Mark them as internal functions using EXPORT_SYMBOL_GPL. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
This commit is contained in:
Родитель
a6eaf8bdf9
Коммит
e8914c65f7
|
@ -51,7 +51,7 @@ rpcauth_register(const struct rpc_authops *ops)
|
|||
spin_unlock(&rpc_authflavor_lock);
|
||||
return ret;
|
||||
}
|
||||
EXPORT_SYMBOL(rpcauth_register);
|
||||
EXPORT_SYMBOL_GPL(rpcauth_register);
|
||||
|
||||
int
|
||||
rpcauth_unregister(const struct rpc_authops *ops)
|
||||
|
@ -69,7 +69,7 @@ rpcauth_unregister(const struct rpc_authops *ops)
|
|||
spin_unlock(&rpc_authflavor_lock);
|
||||
return ret;
|
||||
}
|
||||
EXPORT_SYMBOL(rpcauth_unregister);
|
||||
EXPORT_SYMBOL_GPL(rpcauth_unregister);
|
||||
|
||||
struct rpc_auth *
|
||||
rpcauth_create(rpc_authflavor_t pseudoflavor, struct rpc_clnt *clnt)
|
||||
|
@ -104,7 +104,7 @@ rpcauth_create(rpc_authflavor_t pseudoflavor, struct rpc_clnt *clnt)
|
|||
out:
|
||||
return auth;
|
||||
}
|
||||
EXPORT_SYMBOL(rpcauth_create);
|
||||
EXPORT_SYMBOL_GPL(rpcauth_create);
|
||||
|
||||
void
|
||||
rpcauth_release(struct rpc_auth *auth)
|
||||
|
@ -154,7 +154,7 @@ rpcauth_init_credcache(struct rpc_auth *auth)
|
|||
auth->au_credcache = new;
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL(rpcauth_init_credcache);
|
||||
EXPORT_SYMBOL_GPL(rpcauth_init_credcache);
|
||||
|
||||
/*
|
||||
* Destroy a list of credentials
|
||||
|
@ -217,7 +217,7 @@ rpcauth_destroy_credcache(struct rpc_auth *auth)
|
|||
kfree(cache);
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL(rpcauth_destroy_credcache);
|
||||
EXPORT_SYMBOL_GPL(rpcauth_destroy_credcache);
|
||||
|
||||
/*
|
||||
* Remove stale credentials. Avoid sleeping inside the loop.
|
||||
|
@ -337,7 +337,7 @@ found:
|
|||
out:
|
||||
return cred;
|
||||
}
|
||||
EXPORT_SYMBOL(rpcauth_lookup_credcache);
|
||||
EXPORT_SYMBOL_GPL(rpcauth_lookup_credcache);
|
||||
|
||||
struct rpc_cred *
|
||||
rpcauth_lookupcred(struct rpc_auth *auth, int flags)
|
||||
|
@ -356,7 +356,7 @@ rpcauth_lookupcred(struct rpc_auth *auth, int flags)
|
|||
put_group_info(acred.group_info);
|
||||
return ret;
|
||||
}
|
||||
EXPORT_SYMBOL(rpcauth_lookupcred);
|
||||
EXPORT_SYMBOL_GPL(rpcauth_lookupcred);
|
||||
|
||||
void
|
||||
rpcauth_init_cred(struct rpc_cred *cred, const struct auth_cred *acred,
|
||||
|
@ -373,7 +373,7 @@ rpcauth_init_cred(struct rpc_cred *cred, const struct auth_cred *acred,
|
|||
#endif
|
||||
cred->cr_uid = acred->uid;
|
||||
}
|
||||
EXPORT_SYMBOL(rpcauth_init_cred);
|
||||
EXPORT_SYMBOL_GPL(rpcauth_init_cred);
|
||||
|
||||
struct rpc_cred *
|
||||
rpcauth_bindcred(struct rpc_task *task)
|
||||
|
@ -442,7 +442,7 @@ need_lock:
|
|||
out_destroy:
|
||||
cred->cr_ops->crdestroy(cred);
|
||||
}
|
||||
EXPORT_SYMBOL(put_rpccred);
|
||||
EXPORT_SYMBOL_GPL(put_rpccred);
|
||||
|
||||
void
|
||||
rpcauth_unbindcred(struct rpc_task *task)
|
||||
|
|
|
@ -345,7 +345,7 @@ out_no_clnt:
|
|||
dprintk("RPC: %s: returned error %d\n", __FUNCTION__, err);
|
||||
return ERR_PTR(err);
|
||||
}
|
||||
EXPORT_SYMBOL(rpc_clone_client);
|
||||
EXPORT_SYMBOL_GPL(rpc_clone_client);
|
||||
|
||||
/*
|
||||
* Properly shut down an RPC client, terminating all outstanding
|
||||
|
@ -364,7 +364,7 @@ void rpc_shutdown_client(struct rpc_clnt *clnt)
|
|||
|
||||
rpc_release_client(clnt);
|
||||
}
|
||||
EXPORT_SYMBOL(rpc_shutdown_client);
|
||||
EXPORT_SYMBOL_GPL(rpc_shutdown_client);
|
||||
|
||||
/*
|
||||
* Free an RPC client
|
||||
|
@ -469,7 +469,7 @@ struct rpc_clnt *rpc_bind_new_program(struct rpc_clnt *old,
|
|||
out:
|
||||
return clnt;
|
||||
}
|
||||
EXPORT_SYMBOL(rpc_bind_new_program);
|
||||
EXPORT_SYMBOL_GPL(rpc_bind_new_program);
|
||||
|
||||
/*
|
||||
* Default callback for async RPC calls
|
||||
|
@ -515,13 +515,13 @@ void rpc_clnt_sigmask(struct rpc_clnt *clnt, sigset_t *oldset)
|
|||
{
|
||||
rpc_save_sigmask(oldset, clnt->cl_intr);
|
||||
}
|
||||
EXPORT_SYMBOL(rpc_clnt_sigmask);
|
||||
EXPORT_SYMBOL_GPL(rpc_clnt_sigmask);
|
||||
|
||||
void rpc_clnt_sigunmask(struct rpc_clnt *clnt, sigset_t *oldset)
|
||||
{
|
||||
rpc_restore_sigmask(oldset);
|
||||
}
|
||||
EXPORT_SYMBOL(rpc_clnt_sigunmask);
|
||||
EXPORT_SYMBOL_GPL(rpc_clnt_sigunmask);
|
||||
|
||||
static
|
||||
struct rpc_task *rpc_do_run_task(struct rpc_clnt *clnt,
|
||||
|
@ -577,7 +577,7 @@ int rpc_call_sync(struct rpc_clnt *clnt, struct rpc_message *msg, int flags)
|
|||
rpc_put_task(task);
|
||||
return status;
|
||||
}
|
||||
EXPORT_SYMBOL(rpc_call_sync);
|
||||
EXPORT_SYMBOL_GPL(rpc_call_sync);
|
||||
|
||||
/**
|
||||
* rpc_call_async - Perform an asynchronous RPC call
|
||||
|
@ -599,7 +599,7 @@ rpc_call_async(struct rpc_clnt *clnt, struct rpc_message *msg, int flags,
|
|||
rpc_put_task(task);
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL(rpc_call_async);
|
||||
EXPORT_SYMBOL_GPL(rpc_call_async);
|
||||
|
||||
/**
|
||||
* rpc_run_task - Allocate a new RPC task, then run rpc_execute against it
|
||||
|
@ -614,7 +614,7 @@ struct rpc_task *rpc_run_task(struct rpc_clnt *clnt, int flags,
|
|||
{
|
||||
return rpc_do_run_task(clnt, NULL, flags, tk_ops, data);
|
||||
}
|
||||
EXPORT_SYMBOL(rpc_run_task);
|
||||
EXPORT_SYMBOL_GPL(rpc_run_task);
|
||||
|
||||
void
|
||||
rpc_call_setup(struct rpc_task *task, struct rpc_message *msg, int flags)
|
||||
|
@ -632,7 +632,7 @@ rpc_call_setup(struct rpc_task *task, struct rpc_message *msg, int flags)
|
|||
else
|
||||
task->tk_action = rpc_exit_task;
|
||||
}
|
||||
EXPORT_SYMBOL(rpc_call_setup);
|
||||
EXPORT_SYMBOL_GPL(rpc_call_setup);
|
||||
|
||||
/**
|
||||
* rpc_peeraddr - extract remote peer address from clnt's xprt
|
||||
|
@ -679,7 +679,7 @@ rpc_setbufsize(struct rpc_clnt *clnt, unsigned int sndsize, unsigned int rcvsize
|
|||
if (xprt->ops->set_buffer_size)
|
||||
xprt->ops->set_buffer_size(xprt, sndsize, rcvsize);
|
||||
}
|
||||
EXPORT_SYMBOL(rpc_setbufsize);
|
||||
EXPORT_SYMBOL_GPL(rpc_setbufsize);
|
||||
|
||||
/*
|
||||
* Return size of largest payload RPC client can support, in bytes
|
||||
|
@ -719,7 +719,7 @@ rpc_restart_call(struct rpc_task *task)
|
|||
|
||||
task->tk_action = call_start;
|
||||
}
|
||||
EXPORT_SYMBOL(rpc_restart_call);
|
||||
EXPORT_SYMBOL_GPL(rpc_restart_call);
|
||||
|
||||
/*
|
||||
* 0. Initial state
|
||||
|
@ -1529,7 +1529,7 @@ struct rpc_task *rpc_call_null(struct rpc_clnt *clnt, struct rpc_cred *cred, int
|
|||
};
|
||||
return rpc_do_run_task(clnt, &msg, flags, &rpc_default_ops, NULL);
|
||||
}
|
||||
EXPORT_SYMBOL(rpc_call_null);
|
||||
EXPORT_SYMBOL_GPL(rpc_call_null);
|
||||
|
||||
#ifdef RPC_DEBUG
|
||||
void rpc_show_tasks(void)
|
||||
|
|
|
@ -243,7 +243,7 @@ void rpc_init_wait_queue(struct rpc_wait_queue *queue, const char *qname)
|
|||
{
|
||||
__rpc_init_priority_wait_queue(queue, qname, 0);
|
||||
}
|
||||
EXPORT_SYMBOL(rpc_init_wait_queue);
|
||||
EXPORT_SYMBOL_GPL(rpc_init_wait_queue);
|
||||
|
||||
static int rpc_wait_bit_interruptible(void *word)
|
||||
{
|
||||
|
@ -303,7 +303,7 @@ int __rpc_wait_for_completion_task(struct rpc_task *task, int (*action)(void *))
|
|||
return wait_on_bit(&task->tk_runstate, RPC_TASK_ACTIVE,
|
||||
action, TASK_INTERRUPTIBLE);
|
||||
}
|
||||
EXPORT_SYMBOL(__rpc_wait_for_completion_task);
|
||||
EXPORT_SYMBOL_GPL(__rpc_wait_for_completion_task);
|
||||
|
||||
/*
|
||||
* Make an RPC task runnable.
|
||||
|
@ -373,7 +373,7 @@ void rpc_sleep_on(struct rpc_wait_queue *q, struct rpc_task *task,
|
|||
__rpc_sleep_on(q, task, action, timer);
|
||||
spin_unlock_bh(&q->lock);
|
||||
}
|
||||
EXPORT_SYMBOL(rpc_sleep_on);
|
||||
EXPORT_SYMBOL_GPL(rpc_sleep_on);
|
||||
|
||||
/**
|
||||
* __rpc_do_wake_up_task - wake up a single rpc_task
|
||||
|
@ -445,7 +445,7 @@ void rpc_wake_up_task(struct rpc_task *task)
|
|||
}
|
||||
rcu_read_unlock_bh();
|
||||
}
|
||||
EXPORT_SYMBOL(rpc_wake_up_task);
|
||||
EXPORT_SYMBOL_GPL(rpc_wake_up_task);
|
||||
|
||||
/*
|
||||
* Wake up the next task on a priority queue.
|
||||
|
@ -521,7 +521,7 @@ struct rpc_task * rpc_wake_up_next(struct rpc_wait_queue *queue)
|
|||
|
||||
return task;
|
||||
}
|
||||
EXPORT_SYMBOL(rpc_wake_up_next);
|
||||
EXPORT_SYMBOL_GPL(rpc_wake_up_next);
|
||||
|
||||
/**
|
||||
* rpc_wake_up - wake up all rpc_tasks
|
||||
|
@ -547,7 +547,7 @@ void rpc_wake_up(struct rpc_wait_queue *queue)
|
|||
spin_unlock(&queue->lock);
|
||||
rcu_read_unlock_bh();
|
||||
}
|
||||
EXPORT_SYMBOL(rpc_wake_up);
|
||||
EXPORT_SYMBOL_GPL(rpc_wake_up);
|
||||
|
||||
/**
|
||||
* rpc_wake_up_status - wake up all rpc_tasks and set their status value.
|
||||
|
@ -576,7 +576,7 @@ void rpc_wake_up_status(struct rpc_wait_queue *queue, int status)
|
|||
spin_unlock(&queue->lock);
|
||||
rcu_read_unlock_bh();
|
||||
}
|
||||
EXPORT_SYMBOL(rpc_wake_up_status);
|
||||
EXPORT_SYMBOL_GPL(rpc_wake_up_status);
|
||||
|
||||
static void __rpc_atrun(struct rpc_task *task)
|
||||
{
|
||||
|
@ -591,7 +591,7 @@ void rpc_delay(struct rpc_task *task, unsigned long delay)
|
|||
task->tk_timeout = delay;
|
||||
rpc_sleep_on(&delay_queue, task, NULL, __rpc_atrun);
|
||||
}
|
||||
EXPORT_SYMBOL(rpc_delay);
|
||||
EXPORT_SYMBOL_GPL(rpc_delay);
|
||||
|
||||
/*
|
||||
* Helper to call task->tk_ops->rpc_call_prepare
|
||||
|
@ -620,7 +620,7 @@ void rpc_exit_task(struct rpc_task *task)
|
|||
}
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL(rpc_exit_task);
|
||||
EXPORT_SYMBOL_GPL(rpc_exit_task);
|
||||
|
||||
void rpc_release_calldata(const struct rpc_call_ops *ops, void *calldata)
|
||||
{
|
||||
|
@ -737,7 +737,7 @@ void rpc_execute(struct rpc_task *task)
|
|||
rpc_set_running(task);
|
||||
__rpc_execute(task);
|
||||
}
|
||||
EXPORT_SYMBOL(rpc_execute);
|
||||
EXPORT_SYMBOL_GPL(rpc_execute);
|
||||
|
||||
static void rpc_async_schedule(struct work_struct *work)
|
||||
{
|
||||
|
@ -855,7 +855,7 @@ void rpc_init_task(struct rpc_task *task, struct rpc_clnt *clnt, int flags, cons
|
|||
dprintk("RPC: new task initialized, procpid %u\n",
|
||||
task_pid_nr(current));
|
||||
}
|
||||
EXPORT_SYMBOL(rpc_init_task);
|
||||
EXPORT_SYMBOL_GPL(rpc_init_task);
|
||||
|
||||
static struct rpc_task *
|
||||
rpc_alloc_task(void)
|
||||
|
@ -910,7 +910,7 @@ void rpc_put_task(struct rpc_task *task)
|
|||
call_rcu_bh(&task->u.tk_rcu, rpc_free_task);
|
||||
rpc_release_calldata(tk_ops, calldata);
|
||||
}
|
||||
EXPORT_SYMBOL(rpc_put_task);
|
||||
EXPORT_SYMBOL_GPL(rpc_put_task);
|
||||
|
||||
static void rpc_release_task(struct rpc_task *task)
|
||||
{
|
||||
|
@ -967,7 +967,7 @@ void rpc_killall_tasks(struct rpc_clnt *clnt)
|
|||
}
|
||||
spin_unlock(&clnt->cl_lock);
|
||||
}
|
||||
EXPORT_SYMBOL(rpc_killall_tasks);
|
||||
EXPORT_SYMBOL_GPL(rpc_killall_tasks);
|
||||
|
||||
int rpciod_up(void)
|
||||
{
|
||||
|
|
|
@ -118,7 +118,7 @@ struct rpc_iostats *rpc_alloc_iostats(struct rpc_clnt *clnt)
|
|||
new = kcalloc(clnt->cl_maxproc, sizeof(struct rpc_iostats), GFP_KERNEL);
|
||||
return new;
|
||||
}
|
||||
EXPORT_SYMBOL(rpc_alloc_iostats);
|
||||
EXPORT_SYMBOL_GPL(rpc_alloc_iostats);
|
||||
|
||||
/**
|
||||
* rpc_free_iostats - release an rpc_iostats structure
|
||||
|
@ -129,7 +129,7 @@ void rpc_free_iostats(struct rpc_iostats *stats)
|
|||
{
|
||||
kfree(stats);
|
||||
}
|
||||
EXPORT_SYMBOL(rpc_free_iostats);
|
||||
EXPORT_SYMBOL_GPL(rpc_free_iostats);
|
||||
|
||||
/**
|
||||
* rpc_count_iostats - tally up per-task stats
|
||||
|
@ -215,7 +215,7 @@ void rpc_print_iostats(struct seq_file *seq, struct rpc_clnt *clnt)
|
|||
metrics->om_execute * MILLISECS_PER_JIFFY);
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL(rpc_print_iostats);
|
||||
EXPORT_SYMBOL_GPL(rpc_print_iostats);
|
||||
|
||||
/*
|
||||
* Register/unregister RPC proc files
|
||||
|
@ -241,14 +241,14 @@ rpc_proc_register(struct rpc_stat *statp)
|
|||
{
|
||||
return do_register(statp->program->name, statp, &rpc_proc_fops);
|
||||
}
|
||||
EXPORT_SYMBOL(rpc_proc_register);
|
||||
EXPORT_SYMBOL_GPL(rpc_proc_register);
|
||||
|
||||
void
|
||||
rpc_proc_unregister(const char *name)
|
||||
{
|
||||
remove_proc_entry(name, proc_net_rpc);
|
||||
}
|
||||
EXPORT_SYMBOL(rpc_proc_unregister);
|
||||
EXPORT_SYMBOL_GPL(rpc_proc_unregister);
|
||||
|
||||
struct proc_dir_entry *
|
||||
svc_proc_register(struct svc_stat *statp, const struct file_operations *fops)
|
||||
|
|
|
@ -23,16 +23,16 @@
|
|||
* Declare the debug flags here
|
||||
*/
|
||||
unsigned int rpc_debug;
|
||||
EXPORT_SYMBOL(rpc_debug);
|
||||
EXPORT_SYMBOL_GPL(rpc_debug);
|
||||
|
||||
unsigned int nfs_debug;
|
||||
EXPORT_SYMBOL(nfs_debug);
|
||||
EXPORT_SYMBOL_GPL(nfs_debug);
|
||||
|
||||
unsigned int nfsd_debug;
|
||||
EXPORT_SYMBOL(nfsd_debug);
|
||||
EXPORT_SYMBOL_GPL(nfsd_debug);
|
||||
|
||||
unsigned int nlm_debug;
|
||||
EXPORT_SYMBOL(nlm_debug);
|
||||
EXPORT_SYMBOL_GPL(nlm_debug);
|
||||
|
||||
#ifdef RPC_DEBUG
|
||||
|
||||
|
|
|
@ -992,7 +992,7 @@ void xprt_set_timeout(struct rpc_timeout *to, unsigned int retr, unsigned long i
|
|||
to->to_retries = retr;
|
||||
to->to_exponential = 0;
|
||||
}
|
||||
EXPORT_SYMBOL(xprt_set_timeout);
|
||||
EXPORT_SYMBOL_GPL(xprt_set_timeout);
|
||||
|
||||
/**
|
||||
* xprt_create_transport - create an RPC transport
|
||||
|
|
Загрузка…
Ссылка в новой задаче