public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] cgroups: avoid accessing uninitialized data in failure path
@ 2008-12-23  3:22 Li Zefan
  2008-12-23  3:25 ` Li Zefan
  2008-12-23 16:28 ` Serge E. Hallyn
  0 siblings, 2 replies; 3+ messages in thread
From: Li Zefan @ 2008-12-23  3:22 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Paul Menage, LKML, Linux Containers

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 should be blamed to introduce this bug in 2.6.26 merge window.

Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
---
 kernel/cgroup.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/kernel/cgroup.c b/kernel/cgroup.c
index 8185a0f..330b7ae 100644
--- a/kernel/cgroup.c
+++ b/kernel/cgroup.c
@@ -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;
 }
 
-- 
1.5.4.rc3


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] cgroups: avoid accessing uninitialized data in failure path
  2008-12-23  3:22 [PATCH] cgroups: avoid accessing uninitialized data in failure path Li Zefan
@ 2008-12-23  3:25 ` Li Zefan
  2008-12-23 16:28 ` Serge E. Hallyn
  1 sibling, 0 replies; 3+ messages in thread
From: Li Zefan @ 2008-12-23  3:25 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Linux Containers, Paul Menage, LKML

Li Zefan wrote:
> 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 should be blamed to introduce this bug in 2.6.26 merge window.
> 

Sorry, I mean 2.6.27 merge window.

> Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] cgroups: avoid accessing uninitialized data in failure path
  2008-12-23  3:22 [PATCH] cgroups: avoid accessing uninitialized data in failure path Li Zefan
  2008-12-23  3:25 ` Li Zefan
@ 2008-12-23 16:28 ` Serge E. Hallyn
  1 sibling, 0 replies; 3+ messages in thread
From: Serge E. Hallyn @ 2008-12-23 16:28 UTC (permalink / raw)
  To: Li Zefan; +Cc: Andrew Morton, Linux Containers, Paul Menage, LKML

Quoting Li Zefan (lizf@cn.fujitsu.com):
> 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 should be blamed to introduce this bug in 2.6.26 merge window.
> 
> Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>

Certainly looks right.

Acked-by: Serge Hallyn <serue@us.ibm.com>

> ---
>  kernel/cgroup.c |    5 +++--
>  1 files changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/kernel/cgroup.c b/kernel/cgroup.c
> index 8185a0f..330b7ae 100644
> --- a/kernel/cgroup.c
> +++ b/kernel/cgroup.c
> @@ -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;
>  }
> 
> -- 
> 1.5.4.rc3
> 
> _______________________________________________
> Containers mailing list
> Containers@lists.linux-foundation.org
> https://lists.linux-foundation.org/mailman/listinfo/containers

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2008-12-23 16:28 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-12-23  3:22 [PATCH] cgroups: avoid accessing uninitialized data in failure path Li Zefan
2008-12-23  3:25 ` Li Zefan
2008-12-23 16:28 ` Serge E. Hallyn

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox