Messages in this thread Patch in this message | | | From | (Eric W. Biederman) | Subject | Re: 2.6.23-rc2-mm2 | Date | Fri, 10 Aug 2007 11:12:55 -0600 |
| |
Ingo Molnar <mingo@elte.hu> writes:
> * Eric W. Biederman <ebiederm@xmission.com> 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" <ebiederm@xmission.com>
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 majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |