Re: [PATCH] Add cgroup support for enabling controllers at boottime

From: David Rientjes
Date: Fri Mar 07 2008 - 00:22:38 EST


On Fri, 7 Mar 2008, Balbir Singh wrote:

> >> +static int __init cgroup_disable(char *str)
> >> +{
> >> + int i;
> >> + for (i = 0; i < CGROUP_SUBSYS_COUNT; i++) {
> >> + struct cgroup_subsys *ss = subsys[i];
> >> + if (!strcmp(str, ss->name)) {
> >> + ss->disabled = 1;
> >> + break;
> >> + }
> >> + }
> >> +}
> >> +__setup("cgroup_disable=", cgroup_disable);
> >
> > This doesn't handle spaces very well, so isn't it possible for the name of
> > a current or future cgroup subsystem to be specified after cgroup_disable=
> > on the command line and have it disabled by accident?
> >
>
> How do you distinguish that from the user wanting to disable the controller on
> purpose? My understanding is that after parsing cgroup_disable=, the rest of the
> text is passed to cgroup_disable to process further. You'll find that all the
> __setup() code in the kernel is implemented this way.
>

Since the command line is logically delimited by spaces, you can
accidently disable a subsystem if its name appears in any of your kernel
options following your cgroup_disable= option. So if you're absolutely
confident that it wouldn't happen (for instance, if there's no logical
reason that a cgroup subsystem name should appear anywhere besides
cgroup_disable on the command line), then there's no objection.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/