sysctl ipc: Remove dead binary sysctl support code.
Now that sys_sysctl is a generic wrapper around /proc/sys .ctl_name and .strategy members of sysctl tables are dead code. Remove them. Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
This commit is contained in:
Родитель
a153cf9dd0
Коммит
2bc4657c15
|
@ -129,136 +129,60 @@ static int proc_ipcauto_dointvec_minmax(ctl_table *table, int write,
|
|||
#define proc_ipcauto_dointvec_minmax NULL
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_SYSCTL_SYSCALL
|
||||
/* The generic sysctl ipc data routine. */
|
||||
static int sysctl_ipc_data(ctl_table *table,
|
||||
void __user *oldval, size_t __user *oldlenp,
|
||||
void __user *newval, size_t newlen)
|
||||
{
|
||||
size_t len;
|
||||
void *data;
|
||||
|
||||
/* Get out of I don't have a variable */
|
||||
if (!table->data || !table->maxlen)
|
||||
return -ENOTDIR;
|
||||
|
||||
data = get_ipc(table);
|
||||
if (!data)
|
||||
return -ENOTDIR;
|
||||
|
||||
if (oldval && oldlenp) {
|
||||
if (get_user(len, oldlenp))
|
||||
return -EFAULT;
|
||||
if (len) {
|
||||
if (len > table->maxlen)
|
||||
len = table->maxlen;
|
||||
if (copy_to_user(oldval, data, len))
|
||||
return -EFAULT;
|
||||
if (put_user(len, oldlenp))
|
||||
return -EFAULT;
|
||||
}
|
||||
}
|
||||
|
||||
if (newval && newlen) {
|
||||
if (newlen > table->maxlen)
|
||||
newlen = table->maxlen;
|
||||
|
||||
if (copy_from_user(data, newval, newlen))
|
||||
return -EFAULT;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int sysctl_ipc_registered_data(ctl_table *table,
|
||||
void __user *oldval, size_t __user *oldlenp,
|
||||
void __user *newval, size_t newlen)
|
||||
{
|
||||
int rc;
|
||||
|
||||
rc = sysctl_ipc_data(table, oldval, oldlenp, newval, newlen);
|
||||
|
||||
if (newval && newlen && rc > 0)
|
||||
/*
|
||||
* Tunable has successfully been changed from userland
|
||||
*/
|
||||
unregister_ipcns_notifier(current->nsproxy->ipc_ns);
|
||||
|
||||
return rc;
|
||||
}
|
||||
#else
|
||||
#define sysctl_ipc_data NULL
|
||||
#define sysctl_ipc_registered_data NULL
|
||||
#endif
|
||||
|
||||
static int zero;
|
||||
static int one = 1;
|
||||
|
||||
static struct ctl_table ipc_kern_table[] = {
|
||||
{
|
||||
.ctl_name = KERN_SHMMAX,
|
||||
.procname = "shmmax",
|
||||
.data = &init_ipc_ns.shm_ctlmax,
|
||||
.maxlen = sizeof (init_ipc_ns.shm_ctlmax),
|
||||
.mode = 0644,
|
||||
.proc_handler = proc_ipc_doulongvec_minmax,
|
||||
.strategy = sysctl_ipc_data,
|
||||
},
|
||||
{
|
||||
.ctl_name = KERN_SHMALL,
|
||||
.procname = "shmall",
|
||||
.data = &init_ipc_ns.shm_ctlall,
|
||||
.maxlen = sizeof (init_ipc_ns.shm_ctlall),
|
||||
.mode = 0644,
|
||||
.proc_handler = proc_ipc_doulongvec_minmax,
|
||||
.strategy = sysctl_ipc_data,
|
||||
},
|
||||
{
|
||||
.ctl_name = KERN_SHMMNI,
|
||||
.procname = "shmmni",
|
||||
.data = &init_ipc_ns.shm_ctlmni,
|
||||
.maxlen = sizeof (init_ipc_ns.shm_ctlmni),
|
||||
.mode = 0644,
|
||||
.proc_handler = proc_ipc_dointvec,
|
||||
.strategy = sysctl_ipc_data,
|
||||
},
|
||||
{
|
||||
.ctl_name = KERN_MSGMAX,
|
||||
.procname = "msgmax",
|
||||
.data = &init_ipc_ns.msg_ctlmax,
|
||||
.maxlen = sizeof (init_ipc_ns.msg_ctlmax),
|
||||
.mode = 0644,
|
||||
.proc_handler = proc_ipc_dointvec,
|
||||
.strategy = sysctl_ipc_data,
|
||||
},
|
||||
{
|
||||
.ctl_name = KERN_MSGMNI,
|
||||
.procname = "msgmni",
|
||||
.data = &init_ipc_ns.msg_ctlmni,
|
||||
.maxlen = sizeof (init_ipc_ns.msg_ctlmni),
|
||||
.mode = 0644,
|
||||
.proc_handler = proc_ipc_callback_dointvec,
|
||||
.strategy = sysctl_ipc_registered_data,
|
||||
},
|
||||
{
|
||||
.ctl_name = KERN_MSGMNB,
|
||||
.procname = "msgmnb",
|
||||
.data = &init_ipc_ns.msg_ctlmnb,
|
||||
.maxlen = sizeof (init_ipc_ns.msg_ctlmnb),
|
||||
.mode = 0644,
|
||||
.proc_handler = proc_ipc_dointvec,
|
||||
.strategy = sysctl_ipc_data,
|
||||
},
|
||||
{
|
||||
.ctl_name = KERN_SEM,
|
||||
.procname = "sem",
|
||||
.data = &init_ipc_ns.sem_ctls,
|
||||
.maxlen = 4*sizeof (int),
|
||||
.mode = 0644,
|
||||
.proc_handler = proc_ipc_dointvec,
|
||||
.strategy = sysctl_ipc_data,
|
||||
},
|
||||
{
|
||||
.ctl_name = CTL_UNNUMBERED,
|
||||
.procname = "auto_msgmni",
|
||||
.data = &init_ipc_ns.auto_msgmni,
|
||||
.maxlen = sizeof(int),
|
||||
|
@ -272,7 +196,6 @@ static struct ctl_table ipc_kern_table[] = {
|
|||
|
||||
static struct ctl_table ipc_root_table[] = {
|
||||
{
|
||||
.ctl_name = CTL_KERN,
|
||||
.procname = "kernel",
|
||||
.mode = 0555,
|
||||
.child = ipc_kern_table,
|
||||
|
|
|
@ -88,7 +88,7 @@ static ctl_table mq_sysctls[] = {
|
|||
.extra1 = &msg_maxsize_limit_min,
|
||||
.extra2 = &msg_maxsize_limit_max,
|
||||
},
|
||||
{ .ctl_name = 0 }
|
||||
{}
|
||||
};
|
||||
|
||||
static ctl_table mq_sysctl_dir[] = {
|
||||
|
@ -97,17 +97,16 @@ static ctl_table mq_sysctl_dir[] = {
|
|||
.mode = 0555,
|
||||
.child = mq_sysctls,
|
||||
},
|
||||
{ .ctl_name = 0 }
|
||||
{}
|
||||
};
|
||||
|
||||
static ctl_table mq_sysctl_root[] = {
|
||||
{
|
||||
.ctl_name = CTL_FS,
|
||||
.procname = "fs",
|
||||
.mode = 0555,
|
||||
.child = mq_sysctl_dir,
|
||||
},
|
||||
{ .ctl_name = 0 }
|
||||
{}
|
||||
};
|
||||
|
||||
struct ctl_table_header *mq_register_sysctl_table(void)
|
||||
|
|
Загрузка…
Ссылка в новой задаче