diff options
author | 2013-12-12 23:17:08 +0400 | |
---|---|---|
committer | 2013-12-13 15:46:49 -0500 | |
commit | 10bf2f7e7db993273419ca9f51f5934e4cf71768 (patch) | |
tree | 3d6f820b4409859fc97e4dfc8a3c90d936d27b24 /mm/page_cgroup.c | |
parent | cgroup: fix missing unlock on error in cgroup_load_subsys() (diff) | |
download | linux-dev-10bf2f7e7db993273419ca9f51f5934e4cf71768.tar.xz linux-dev-10bf2f7e7db993273419ca9f51f5934e4cf71768.zip |
cgroup: fix fail path in cgroup_load_subsys()
Calling cgroup_unload_subsys() from cgroup_load_subsys() after
online_css() failure will result in a NULL ptr dereference on attempt to
offline_css(), because online_css() only assigns css to cgroup on
success. Let's fix that by skipping calls to offline_css() and
css_free() in cgroup_unload_subsys() if there is no css, and freeing css
in cgroup_load_subsys() on online_css() failure.
Signed-off-by: Vladimir Davydov <vdavydov@parallels.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: Li Zefan <lizefan@huawei.com>
Diffstat (limited to 'mm/page_cgroup.c')
0 files changed, 0 insertions, 0 deletions