Re: [PATCH] cgroup: move a check to parse_cgroupfs_options()

From: Li Zefan
Date: Thu Dec 22 2011 - 22:38:24 EST


ä 2011å12æ22æ 23:20, Tejun Heo åé:
> Hello,
>
> On Thu, Dec 22, 2011 at 04:43:19PM +0800, Li Zefan wrote:
>> Always check the validity of mount options in parse_cgroupfs_options().
>>
>> No functional change.
>>
>> Signed-off-by: Li Zefan <lizf@xxxxxxxxxxxxxx>
>> ---
>> kernel/cgroup.c | 15 +++++++--------
>> 1 files changed, 7 insertions(+), 8 deletions(-)
>>
>> diff --git a/kernel/cgroup.c b/kernel/cgroup.c
>> index 4936d88..bdb7994 100644
>> --- a/kernel/cgroup.c
>> +++ b/kernel/cgroup.c
>> @@ -1218,7 +1218,6 @@ static int parse_cgroupfs_options(char *data, struct cgroup_sb_opts *opts)
>> (opts->subsys_bits & mask))
>> return -EINVAL;
>>
>> -
>> /* Can't specify "none" and some subsystems */
>> if (opts->subsys_bits && opts->none)
>> return -EINVAL;
>> @@ -1231,6 +1230,13 @@ static int parse_cgroupfs_options(char *data, struct cgroup_sb_opts *opts)
>> return -EINVAL;
>>
>> /*
>> + * This can happen only when none of the subsystems is enabled
>> + * in the system.
>> + */
>> + if (!opts->subsys_bits && !opts->none)
>> + return -EINVAL;
>
> The three ifs here share a lot and I think sharing the common parts
> would make the logic clearer. e.g. The first and this can be easily
> combined to (bool)opts->subsys_bits != (bool)opts->none which would
> explain the logic better too.
>

ok.

>> @@ -1442,10 +1445,6 @@ static int cgroup_set_super(struct super_block *sb, void *data)
>> int ret;
>> struct cgroup_sb_opts *opts = data;
>>
>> - /* If we don't have a new root, we can't set up a new sb */
>> - if (!opts->new_root)
>> - return -EINVAL;
>> -
>
> And where did this one go?
>

The other one I removed sets opts->new_root to NULL, and this one detects
the NULL ptr:

if (!opts->subsys_bits && !opts->none)
return NULL;
...
opts->new_root = NULL;
...
if (!opts->new_root)
return -EINVAL;

shortcut to:

if (!opts->subsys_bits && !opts->none)
return -EINVAL;
--
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/