diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2000-02-04 07:40:19 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2000-02-04 07:40:19 +0000 |
commit | 33263fc5f9ac8e8cb2b22d06af3ce5ac1dd815e4 (patch) | |
tree | 2d1b86a40bef0958a68cf1a2eafbeb0667a70543 /kernel/sysctl.c | |
parent | 216f5f51aa02f8b113aa620ebc14a9631a217a00 (diff) |
Merge with Linux 2.3.32.
Diffstat (limited to 'kernel/sysctl.c')
-rw-r--r-- | kernel/sysctl.c | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/kernel/sysctl.c b/kernel/sysctl.c index f18ad13c1..fa69edbac 100644 --- a/kernel/sysctl.c +++ b/kernel/sysctl.c @@ -49,7 +49,9 @@ extern char modprobe_path[]; extern int sg_big_buff; #endif #ifdef CONFIG_SYSVIPC -extern size_t shm_prm[]; +extern size_t shm_ctlmax; +extern int shm_ctlall; +extern int shm_ctlmni; extern int msg_ctlmax; extern int msg_ctlmnb; extern int msg_ctlmni; @@ -133,10 +135,8 @@ struct inode_operations proc_sys_inode_operations = NULL, /* get_block */ NULL, /* readpage */ NULL, /* writepage */ - NULL, /* flushpage */ NULL, /* truncate */ proc_sys_permission, /* permission */ - NULL, /* smap */ NULL /* revalidate */ }; @@ -217,8 +217,12 @@ static ctl_table kern_table[] = { {KERN_RTSIGMAX, "rtsig-max", &max_queued_signals, sizeof(int), 0644, NULL, &proc_dointvec}, #ifdef CONFIG_SYSVIPC - {KERN_SHMMAX, "shmmax", &shm_prm, 3*sizeof (size_t), + {KERN_SHMMAX, "shmmax", &shm_ctlmax, sizeof (size_t), 0644, NULL, &proc_doulongvec_minmax}, + {KERN_SHMALL, "shmall", &shm_ctlall, sizeof (int), + 0644, NULL, &proc_dointvec}, + {KERN_SHMMNI, "shmmni", &shm_ctlmni, sizeof (int), + 0644, NULL, &proc_dointvec}, {KERN_MSGMAX, "msgmax", &msg_ctlmax, sizeof (int), 0644, NULL, &proc_dointvec}, {KERN_MSGMNI, "msgmni", &msg_ctlmni, sizeof (int), @@ -351,7 +355,7 @@ extern asmlinkage long sys_sysctl(struct __sysctl_args *args) } /* Like in_group_p, but testing against egid, not fsgid */ -static int in_egroup_p(gid_t grp) +int in_egroup_p(gid_t grp) { if (grp != current->egid) { int i = current->ngroups; @@ -584,13 +588,12 @@ static void unregister_proc_table(ctl_table * table, struct proc_dir_entry *root continue; } - /* Don't unregoster proc entries that are still being used.. */ + /* Don't unregister proc entries that are still being used.. */ if (de->count) continue; - proc_unregister(root, de->low_ino); table->de = NULL; - kfree(de); + remove_proc_entry(table->procname, root); } } |