[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20081226144548.GB3156@hack.private>
Date: Fri, 26 Dec 2008 14:45:48 +0000
From: Américo Wang <xiyou.wangcong@...il.com>
To: Tetsuo Handa <penguin-kernel@...ove.sakura.ne.jp>
Cc: linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org,
akpm@...ux-foundation.org
Subject: Re: [PATCH] Check return from argv_split() in do_coredump().
On Wed, Dec 24, 2008 at 03:16:16PM +0900, Tetsuo Handa wrote:
>do_coredump() accesses helper_argv[0] without checking helper_argv != NULL.
>Though, likely helper_argv != NULL.
>
>Below versions have this problem.
>
> 2.6.24.7
> 2.6.25.20
> 2.6.26.8
> 2.6.27.10
> 2.6.28-rc9
> mmotm 2008-12-22-16-14
>
>Signed-off-by: Tetsuo Handa <penguin-kernel@...ove.SAKURA.ne.jp>
>---
> fs/exec.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
>--- linux-2.6.28-rc9-mm1.orig/fs/exec.c
>+++ linux-2.6.28-rc9-mm1/fs/exec.c
>@@ -1809,10 +1809,15 @@ int do_coredump(long signr, int exit_cod
> if ((!ispipe) && (core_limit < binfmt->min_coredump))
> goto fail_unlock;
>
> if (ispipe) {
> helper_argv = argv_split(GFP_KERNEL, corename+1, &helper_argc);
>+ if (!helper_argv) {
>+ printk(KERN_WARNING "%s failed to allocate memory\n",
>+ __func__);
>+ goto fail_unlock;
How about going to the line:
current->fsuid = fsuid;
? Because when argv_split() fails, helper_argv is NULL and doesn't need
to be checked again.
Otherwise,
Reviewed-by: WANG Cong <wangcong@...ux.org>
Thanks.
--
"Against stupidity, the gods themselves, contend in vain."
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists