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]

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


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.

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


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