Messages in this thread | | | Date | Thu, 19 Nov 2009 23:34:08 +0800 | From | Américo Wang <> | Subject | 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.
| |