Commit 79eec3d3 authored by Eric W. Biederman's avatar Eric W. Biederman Committed by Linus Torvalds

[PATCH] sysctl: sn: remove sysctl ABI BREAKAGE

By not using the enumeration in sysctl.h (or even understanding it) the SN
platform placed their arch specific xpc directory on top of CTL_KERN and only
because they didn't have 4 entries in their xpc directory got lucky and didn't
break glibc.

This is totally irresponsible.  So this patch entirely removes sys_sysctl
support from their sysctl code.  Hopefully they don't have ascii name
conflicts as well.

And now that they have no ABI numbers add them to the end instead of the
sysctl list instead of the head so nothing else will be overridden.

Cc: Tony Luck <tony.luck@intel.com>
Signed-off-by: default avatarEric W. Biederman <ebiederm@xmission.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 317ed68c
...@@ -101,7 +101,7 @@ static int xpc_disengage_request_max_timelimit = 120; ...@@ -101,7 +101,7 @@ static int xpc_disengage_request_max_timelimit = 120;
static ctl_table xpc_sys_xpc_hb_dir[] = { static ctl_table xpc_sys_xpc_hb_dir[] = {
{ {
1, CTL_UNNUMBERED,
"hb_interval", "hb_interval",
&xpc_hb_interval, &xpc_hb_interval,
sizeof(int), sizeof(int),
...@@ -114,7 +114,7 @@ static ctl_table xpc_sys_xpc_hb_dir[] = { ...@@ -114,7 +114,7 @@ static ctl_table xpc_sys_xpc_hb_dir[] = {
&xpc_hb_max_interval &xpc_hb_max_interval
}, },
{ {
2, CTL_UNNUMBERED,
"hb_check_interval", "hb_check_interval",
&xpc_hb_check_interval, &xpc_hb_check_interval,
sizeof(int), sizeof(int),
...@@ -130,7 +130,7 @@ static ctl_table xpc_sys_xpc_hb_dir[] = { ...@@ -130,7 +130,7 @@ static ctl_table xpc_sys_xpc_hb_dir[] = {
}; };
static ctl_table xpc_sys_xpc_dir[] = { static ctl_table xpc_sys_xpc_dir[] = {
{ {
1, CTL_UNNUMBERED,
"hb", "hb",
NULL, NULL,
0, 0,
...@@ -138,7 +138,7 @@ static ctl_table xpc_sys_xpc_dir[] = { ...@@ -138,7 +138,7 @@ static ctl_table xpc_sys_xpc_dir[] = {
xpc_sys_xpc_hb_dir xpc_sys_xpc_hb_dir
}, },
{ {
2, CTL_UNNUMBERED,
"disengage_request_timelimit", "disengage_request_timelimit",
&xpc_disengage_request_timelimit, &xpc_disengage_request_timelimit,
sizeof(int), sizeof(int),
...@@ -154,7 +154,7 @@ static ctl_table xpc_sys_xpc_dir[] = { ...@@ -154,7 +154,7 @@ static ctl_table xpc_sys_xpc_dir[] = {
}; };
static ctl_table xpc_sys_dir[] = { static ctl_table xpc_sys_dir[] = {
{ {
1, CTL_UNNUMBERED,
"xpc", "xpc",
NULL, NULL,
0, 0,
...@@ -1251,7 +1251,7 @@ xpc_init(void) ...@@ -1251,7 +1251,7 @@ xpc_init(void)
snprintf(xpc_part->bus_id, BUS_ID_SIZE, "part"); snprintf(xpc_part->bus_id, BUS_ID_SIZE, "part");
snprintf(xpc_chan->bus_id, BUS_ID_SIZE, "chan"); snprintf(xpc_chan->bus_id, BUS_ID_SIZE, "chan");
xpc_sysctl = register_sysctl_table(xpc_sys_dir, 1); xpc_sysctl = register_sysctl_table(xpc_sys_dir, 0);
/* /*
* The first few fields of each entry of xpc_partitions[] need to * The first few fields of each entry of xpc_partitions[] need to
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment