Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

cgroups: avoid accessing uninitialized data in failure path

If cgroup_get_rootdir() failed, free_cg_links() will be called in the
failure path, but tmp_cg_links hasn't been initialized at that time.

I introduced this bug in the 2.6.27 merge window.

Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Acked-by: Serge Hallyn <serue@us.ibm.com>
Cc: Paul Menage <menage@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by

Li Zefan and committed by
Linus Torvalds
20ca9b3f e368d3a8

+3 -2
+3 -2
kernel/cgroup.c
··· 1024 1024 if (ret == -EBUSY) { 1025 1025 mutex_unlock(&cgroup_mutex); 1026 1026 mutex_unlock(&inode->i_mutex); 1027 - goto drop_new_super; 1027 + goto free_cg_links; 1028 1028 } 1029 1029 1030 1030 /* EBUSY should be the only error here */ ··· 1073 1073 1074 1074 return simple_set_mnt(mnt, sb); 1075 1075 1076 + free_cg_links: 1077 + free_cg_links(&tmp_cg_links); 1076 1078 drop_new_super: 1077 1079 up_write(&sb->s_umount); 1078 1080 deactivate_super(sb); 1079 - free_cg_links(&tmp_cg_links); 1080 1081 return ret; 1081 1082 } 1082 1083