Ingo Molnar <[EMAIL PROTECTED]> writes: > * Eric W. Biederman <[EMAIL PROTECTED]> wrote: > >> Yes. For the sched debug case I sent Ingo and friends but apparently >> other changes in Ingos tree kept it from applying and Andrew dropped >> it. So instead the code now screams at you and refuses to register >> Ingo sysctl table. > > the commit below is now upstream - is your patch still needed?
Ok. I missed that. Duh. I just saw Andrews drop message. This looks like Alexey respun my patch, or else we were thinking on parallel paths. Probably parallel given Alexey's dislike of using the CTL_UNNUMBERED define. There are two remaining gotchas: - The directories have impossible permissions (writeable). - The ctl_name for the kernel directory is inconsistent with everything else. It should be CTL_KERN. I think the patch below fixes that up but I haven't had a chance to test it yet. I kind of feel bad about being so picky but the this code is the only place in the kernel where I have seen us violate either of those rules, and it is a lot easier to deal with things when they are consistent. Signed-off-by: "Eric W. Biederman" <[EMAIL PROTECTED]> diff --git a/kernel/sched.c b/kernel/sched.c index b0afd8d..47afd80 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -5223,15 +5223,16 @@ static void migrate_dead_tasks(unsigned int dead_cpu) static struct ctl_table sd_ctl_dir[] = { { .procname = "sched_domain", - .mode = 0755, + .mode = 0555, }, {0,}, }; static struct ctl_table sd_ctl_root[] = { { + .ctl_name = CTL_KERN, .procname = "kernel", - .mode = 0755, + .mode = 0555, .child = sd_ctl_dir, }, {0,}, @@ -5307,7 +5308,7 @@ static ctl_table *sd_alloc_ctl_cpu_table(int cpu) for_each_domain(cpu, sd) { snprintf(buf, 32, "domain%d", i); entry->procname = kstrdup(buf, GFP_KERNEL); - entry->mode = 0755; + entry->mode = 0555; entry->child = sd_alloc_ctl_domain_table(sd); entry++; i++; @@ -5327,7 +5328,7 @@ static void init_sched_domain_sysctl(void) for (i = 0; i < cpu_num; i++, entry++) { snprintf(buf, 32, "cpu%d", i); entry->procname = kstrdup(buf, GFP_KERNEL); - entry->mode = 0755; + entry->mode = 0555; entry->child = sd_alloc_ctl_cpu_table(i); } sd_sysctl_header = register_sysctl_table(sd_ctl_root); - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/