This series tries to regularize the coredump writes/seeks/rlimit 
handling
etc.  Quite a bit of boilerplate code removed, another open-coded caller of
->write() converted to use of normal codepath (which was the original reason
I've got into that mess).  RLIMIT_CORE handling got a lot more uniform,
short writes handling fixed (we had weird cases where a very large ->write()
to pipe might happen and where short write had been treated as an error).

        It needs more testing; I don't have any test setups that could deal
with spufs, for example, and while it seems to produce normal coredumps on
what I have tested, I'd still like more eyes on it.

        The same series is in the tip of vfs.git#experimental, so if you prefer
git access for review...

Shortlog:
      restore 32bit aout coredump
      new helper: dump_emit()
      switch elf_core_write_extra_phdrs() to dump_emit()
      switch elf_core_write_extra_data() to dump_emit()
      binfmt_elf: convert writing actual dump pages to dump_emit()
      convert the rest of binfmt_elf_fdpic to dump_emit()
      switch elf_coredump_extra_notes_write() to dump_emit()
      aout: switch to dump_emit
      binfmt_elf: count notes towards coredump limit
      make dump_emit() use vfs_write() instead of banging at ->f_op->write 
directly
      dump_skip(): dump_seek() replacement taking coredump_params
      spufs: get rid of dump_emit() wrappers
      new helper: dump_align()

Diffstat:
 arch/ia64/kernel/elfcore.c                   |   12 +--
 arch/powerpc/include/asm/spu.h               |    3 +-
 arch/powerpc/platforms/cell/spu_syscalls.c   |    5 +-
 arch/powerpc/platforms/cell/spufs/coredump.c |   89 ++++++--------------
 arch/powerpc/platforms/cell/spufs/spufs.h    |    3 +-
 arch/x86/ia32/ia32_aout.c                    |   86 ++++++++++----------
 arch/x86/um/elfcore.c                        |   15 +---
 fs/binfmt_aout.c                             |    9 +-
 fs/binfmt_elf.c                              |   84 ++++++-------------
 fs/binfmt_elf_fdpic.c                        |  114 +++++++-------------------
 fs/coredump.c                                |   64 +++++++++------
 include/linux/binfmts.h                      |    1 +
 include/linux/coredump.h                     |    6 +-
 include/linux/elf.h                          |    6 +-
 include/linux/elfcore.h                      |    7 +-
 kernel/elfcore.c                             |   10 +--
 16 files changed, 196 insertions(+), 318 deletions(-)

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

Reply via email to