[PATCH] sysctl: C99 convert arch/ia64/kernel/perfmon and remove ABI breakage
This convters the sysctl ctl_tables to use C99 initializers. While I was looking at it I discovered it was using a portion of the sysctl binary addresses space under CTL_KERN KERN_OSTYPE which was completely inappropriate. So I completely removed all of the sysctl binary names, to remove and avoid the ABI conflict. Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Cc: "Luck, Tony" <tony.luck@intel.com> Cc: Stephane Eranian <eranian@hpl.hp.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
committed by
Linus Torvalds
parent
68cbf07536
commit
4e00990118
@@ -521,19 +521,57 @@ pfm_sysctl_t pfm_sysctl;
|
|||||||
EXPORT_SYMBOL(pfm_sysctl);
|
EXPORT_SYMBOL(pfm_sysctl);
|
||||||
|
|
||||||
static ctl_table pfm_ctl_table[]={
|
static ctl_table pfm_ctl_table[]={
|
||||||
{1, "debug", &pfm_sysctl.debug, sizeof(int), 0666, NULL, &proc_dointvec, NULL,},
|
{
|
||||||
{2, "debug_ovfl", &pfm_sysctl.debug_ovfl, sizeof(int), 0666, NULL, &proc_dointvec, NULL,},
|
.ctl_name = CTL_UNNUMBERED,
|
||||||
{3, "fastctxsw", &pfm_sysctl.fastctxsw, sizeof(int), 0600, NULL, &proc_dointvec, NULL,},
|
.procname = "debug",
|
||||||
{4, "expert_mode", &pfm_sysctl.expert_mode, sizeof(int), 0600, NULL, &proc_dointvec, NULL,},
|
.data = &pfm_sysctl.debug,
|
||||||
{ 0, },
|
.maxlen = sizeof(int),
|
||||||
|
.mode = 0666,
|
||||||
|
.proc_handler = &proc_dointvec,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.ctl_name = CTL_UNNUMBERED,
|
||||||
|
.procname = "debug_ovfl",
|
||||||
|
.data = &pfm_sysctl.debug_ovfl,
|
||||||
|
.maxlen = sizeof(int),
|
||||||
|
.mode = 0666,
|
||||||
|
.proc_handler = &proc_dointvec,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.ctl_name = CTL_UNNUMBERED,
|
||||||
|
.procname = "fastctxsw",
|
||||||
|
.data = &pfm_sysctl.fastctxsw,
|
||||||
|
.maxlen = sizeof(int),
|
||||||
|
.mode = 0600,
|
||||||
|
.proc_handler = &proc_dointvec,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.ctl_name = CTL_UNNUMBERED,
|
||||||
|
.procname = "expert_mode",
|
||||||
|
.data = &pfm_sysctl.expert_mode,
|
||||||
|
.maxlen = sizeof(int),
|
||||||
|
.mode = 0600,
|
||||||
|
.proc_handler = &proc_dointvec,
|
||||||
|
},
|
||||||
|
{}
|
||||||
};
|
};
|
||||||
static ctl_table pfm_sysctl_dir[] = {
|
static ctl_table pfm_sysctl_dir[] = {
|
||||||
{1, "perfmon", NULL, 0, 0755, pfm_ctl_table, },
|
{
|
||||||
{0,},
|
.ctl_name = CTL_UNNUMBERED,
|
||||||
|
.procname = "perfmon",
|
||||||
|
.mode = 0755,
|
||||||
|
.child = pfm_ctl_table,
|
||||||
|
},
|
||||||
|
{}
|
||||||
};
|
};
|
||||||
static ctl_table pfm_sysctl_root[] = {
|
static ctl_table pfm_sysctl_root[] = {
|
||||||
{1, "kernel", NULL, 0, 0755, pfm_sysctl_dir, },
|
{
|
||||||
{0,},
|
.ctl_name = CTL_KERN,
|
||||||
|
.procname = "kernel",
|
||||||
|
.mode = 0755,
|
||||||
|
.child = pfm_sysctl_dir,
|
||||||
|
},
|
||||||
|
{}
|
||||||
};
|
};
|
||||||
static struct ctl_table_header *pfm_sysctl_header;
|
static struct ctl_table_header *pfm_sysctl_header;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user