Re: [PATCH -tip 0/2] Fix mm->flags consistency issue in coredump

From: AmÃrico Wang
Date: Thu Nov 19 2009 - 10:33:32 EST


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@xxxxxxxxx>

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@xxxxxxxxxx
>--
>To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>the body of a message to majordomo@xxxxxxxxxxxxxxx
>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.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/