Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 20ca9b3f authored by Li Zefan's avatar Li Zefan Committed by Linus Torvalds
Browse files

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: default avatarLi Zefan <lizf@cn.fujitsu.com>
Acked-by: default avatarSerge Hallyn <serue@us.ibm.com>
Cc: Paul Menage <menage@google.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent e368d3a8
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -1024,7 +1024,7 @@ static int cgroup_get_sb(struct file_system_type *fs_type,
		if (ret == -EBUSY) {
			mutex_unlock(&cgroup_mutex);
			mutex_unlock(&inode->i_mutex);
			goto drop_new_super;
			goto free_cg_links;
		}

		/* EBUSY should be the only error here */
@@ -1073,10 +1073,11 @@ static int cgroup_get_sb(struct file_system_type *fs_type,

	return simple_set_mnt(mnt, sb);

 free_cg_links:
	free_cg_links(&tmp_cg_links);
 drop_new_super:
	up_write(&sb->s_umount);
	deactivate_super(sb);
	free_cg_links(&tmp_cg_links);
	return ret;
}