This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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.
 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]