diff options
author | Li Zefan <lizefan@huawei.com> | 2014-04-17 07:53:08 +0200 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2014-04-17 17:18:06 +0200 |
commit | e37a06f10994c2ba86f54d8f96734f2483a869b8 (patch) | |
tree | 6b53563f1b93588d1c40c52f0eecb049b20c5cff /security/device_cgroup.c | |
parent | Linux 3.15-rc1 (diff) | |
download | linux-e37a06f10994c2ba86f54d8f96734f2483a869b8.tar.xz linux-e37a06f10994c2ba86f54d8f96734f2483a869b8.zip |
cgroup: fix the retry path of cgroup_mount()
If we hit the retry path, we'll call parse_cgroupfs_options() again,
but the string we pass to it has been modified by the previous call
to this function.
This bug can be observed by:
# mount -t cgroup -o name=foo,cpuset xxx /mnt && umount /mnt && \
mount -t cgroup -o name=foo,cpuset xxx /mnt
mount: wrong fs type, bad option, bad superblock on xxx,
missing codepage or helper program, or other error
...
The second mount passed "name=foo,cpuset" to the parser, and then it
hit the retry path and call the parser again, but this time the string
passed to the parser is "name=foo".
To fix this, we avoid calling parse_cgroupfs_options() again in this
case.
Signed-off-by: Li Zefan <lizefan@huawei.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'security/device_cgroup.c')
0 files changed, 0 insertions, 0 deletions