diff options
author | Eric W. Biederman <ebiederm@xmission.com> | 2007-02-14 03:33:42 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-02-14 11:09:56 -0500 |
commit | 4e0099011838cc72ae693ef9c549bdd20704512d (patch) | |
tree | 18ed6da37ee8b41f73d4fb285875aa939704e6d9 | |
parent | 68cbf0753681b3f79437f16d2f9a259b9346cf84 (diff) |
[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>
-rw-r--r-- | arch/ia64/kernel/perfmon.c | 56 |
1 files changed, 47 insertions, 9 deletions
diff --git a/arch/ia64/kernel/perfmon.c b/arch/ia64/kernel/perfmon.c index 9860794a68fb..d2f299d98977 100644 --- a/arch/ia64/kernel/perfmon.c +++ b/arch/ia64/kernel/perfmon.c | |||
@@ -521,19 +521,57 @@ pfm_sysctl_t pfm_sysctl; | |||
521 | EXPORT_SYMBOL(pfm_sysctl); | 521 | EXPORT_SYMBOL(pfm_sysctl); |
522 | 522 | ||
523 | static ctl_table pfm_ctl_table[]={ | 523 | static ctl_table pfm_ctl_table[]={ |
524 | {1, "debug", &pfm_sysctl.debug, sizeof(int), 0666, NULL, &proc_dointvec, NULL,}, | 524 | { |
525 | {2, "debug_ovfl", &pfm_sysctl.debug_ovfl, sizeof(int), 0666, NULL, &proc_dointvec, NULL,}, | 525 | .ctl_name = CTL_UNNUMBERED, |
526 | {3, "fastctxsw", &pfm_sysctl.fastctxsw, sizeof(int), 0600, NULL, &proc_dointvec, NULL,}, | 526 | .procname = "debug", |
527 | {4, "expert_mode", &pfm_sysctl.expert_mode, sizeof(int), 0600, NULL, &proc_dointvec, NULL,}, | 527 | .data = &pfm_sysctl.debug, |
528 | { 0, }, | 528 | .maxlen = sizeof(int), |
529 | .mode = 0666, | ||
530 | .proc_handler = &proc_dointvec, | ||
531 | }, | ||
532 | { | ||
533 | .ctl_name = CTL_UNNUMBERED, | ||
534 | .procname = "debug_ovfl", | ||
535 | .data = &pfm_sysctl.debug_ovfl, | ||
536 | .maxlen = sizeof(int), | ||
537 | .mode = 0666, | ||
538 | .proc_handler = &proc_dointvec, | ||
539 | }, | ||
540 | { | ||
541 | .ctl_name = CTL_UNNUMBERED, | ||
542 | .procname = "fastctxsw", | ||
543 | .data = &pfm_sysctl.fastctxsw, | ||
544 | .maxlen = sizeof(int), | ||
545 | .mode = 0600, | ||
546 | .proc_handler = &proc_dointvec, | ||
547 | }, | ||
548 | { | ||
549 | .ctl_name = CTL_UNNUMBERED, | ||
550 | .procname = "expert_mode", | ||
551 | .data = &pfm_sysctl.expert_mode, | ||
552 | .maxlen = sizeof(int), | ||
553 | .mode = 0600, | ||
554 | .proc_handler = &proc_dointvec, | ||
555 | }, | ||
556 | {} | ||
529 | }; | 557 | }; |
530 | static ctl_table pfm_sysctl_dir[] = { | 558 | static ctl_table pfm_sysctl_dir[] = { |
531 | {1, "perfmon", NULL, 0, 0755, pfm_ctl_table, }, | 559 | { |
532 | {0,}, | 560 | .ctl_name = CTL_UNNUMBERED, |
561 | .procname = "perfmon", | ||
562 | .mode = 0755, | ||
563 | .child = pfm_ctl_table, | ||
564 | }, | ||
565 | {} | ||
533 | }; | 566 | }; |
534 | static ctl_table pfm_sysctl_root[] = { | 567 | static ctl_table pfm_sysctl_root[] = { |
535 | {1, "kernel", NULL, 0, 0755, pfm_sysctl_dir, }, | 568 | { |
536 | {0,}, | 569 | .ctl_name = CTL_KERN, |
570 | .procname = "kernel", | ||
571 | .mode = 0755, | ||
572 | .child = pfm_sysctl_dir, | ||
573 | }, | ||
574 | {} | ||
537 | }; | 575 | }; |
538 | static struct ctl_table_header *pfm_sysctl_header; | 576 | static struct ctl_table_header *pfm_sysctl_header; |
539 | 577 | ||