This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: [PATCH -tip 0/2] Fix mm->flags consistency issue in coredump
- From: AmÃrico Wang <xiyou dot wangcong at gmail dot com>
- To: Masami Hiramatsu <mhiramat at redhat dot com>
- Cc: Ingo Molnar <mingo at elte dot hu>, lkml <linux-kernel at vger dot kernel dot org>, Roland McGrath <roland at redhat dot com>, Oleg Nesterov <oleg at redhat dot com>, Hidehiro Kawai <hidehiro dot kawai dot ez at hitachi dot com>, Andrew Morton <akpm at linux-foundation dot org>, systemtap <systemtap at sources dot redhat dot com>, DLE <dle-develop at lists dot sourceforge dot net>
- Date: Thu, 19 Nov 2009 23:34:08 +0800
- Subject: Re: [PATCH -tip 0/2] Fix mm->flags consistency issue in coredump
- References: <20091117235305.30900.43344.stgit@dhcp-100-2-132.bos.redhat.com>
On Tue, Nov 17, 2009 at 06:53:05PM -0500, Masami Hiramatsu wrote:
>
>Hi,
>
>These patches are for fixing coredump mm->flags consistency issue.
>
>---
>1787 if (mm->core_state || !get_dumpable(mm)) { <- (1)
>1788 up_write(&mm->mmap_sem);
>1789 put_cred(cred);
>1790 goto fail;
>1791 }
>1792
>[...]
>1798 if (get_dumpable(mm) == 2) { /* Setuid core dump mode */ <-(2)
>1799 flag = O_EXCL; /* Stop rewrite attacks */
>1800 cred->fsuid = 0; /* Dump root private */
>1801 }
>---
>
>Since dumpable bits are not protected by lock, there is a
>chance to change these bits between (1) and (2).
>
>To solve this issue, this patch copies mm->flags to
>coredump_params.mm_flags at the beginning of do_coredump() and uses it instead of get_dumpable() while dumping core.
>This series also introduce coredump parameter structure
>for simplify bimfmt->core_dump interface.
So, this patch set hides 'mm_flags' from globally in mm_struct
to locally in do_coredump() function, by copying it to a local
data structure?
Hmm, seems reasonable.
Reviewed-by: WANG Cong <xiyou.wangcong@gmail.com>
Thanks.
>
>Thank you,
>
>---
>
>Masami Hiramatsu (2):
> Pass mm->flags as a coredump parameter for consistency
> mm: Introduce coredump parameter structure
>
>
> fs/binfmt_aout.c | 13 ++++++-----
> fs/binfmt_elf.c | 50 +++++++++++++++++++----------------------
> fs/binfmt_elf_fdpic.c | 38 ++++++++++++-------------------
> fs/binfmt_flat.c | 6 ++---
> fs/binfmt_som.c | 2 +-
> fs/exec.c | 58 ++++++++++++++++++++++++++++++-----------------
> include/linux/binfmts.h | 11 ++++++++-
> 7 files changed, 97 insertions(+), 81 deletions(-)
>
>--
>Masami Hiramatsu
>
>Software Engineer
>Hitachi Computer Products (America), Inc.
>Software Solutions Division
>e-mail: mhiramat@redhat.com
>--
>To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>the body of a message to majordomo@vger.kernel.org
>More majordomo info at http://vger.kernel.org/majordomo-info.html
>Please read the FAQ at http://www.tux.org/lkml/
--
Live like a child, think like the god.