cprm 15 arch/ia64/kernel/elfcore.c int elf_core_write_extra_phdrs(struct coredump_params *cprm, loff_t offset) cprm 38 arch/ia64/kernel/elfcore.c if (!dump_emit(cprm, &phdr, sizeof(phdr))) cprm 44 arch/ia64/kernel/elfcore.c int elf_core_write_extra_data(struct coredump_params *cprm) cprm 55 arch/ia64/kernel/elfcore.c if (!dump_emit(cprm, addr, memsz)) cprm 35 arch/m68k/include/asm/bvme6000hw.h pad_u[3], cprm, cprm 235 arch/powerpc/include/asm/spu.h int (*coredump_extra_notes_write)(struct coredump_params *cprm); cprm 118 arch/powerpc/platforms/cell/spu_syscalls.c int elf_coredump_extra_notes_write(struct coredump_params *cprm) cprm 127 arch/powerpc/platforms/cell/spu_syscalls.c ret = calls->coredump_extra_notes_write(cprm); cprm 119 arch/powerpc/platforms/cell/spufs/coredump.c struct coredump_params *cprm, int dfd) cprm 141 arch/powerpc/platforms/cell/spufs/coredump.c if (!dump_emit(cprm, &en, sizeof(en))) cprm 144 arch/powerpc/platforms/cell/spufs/coredump.c if (!dump_emit(cprm, fullname, en.n_namesz)) cprm 147 arch/powerpc/platforms/cell/spufs/coredump.c if (!dump_align(cprm, 4)) cprm 153 arch/powerpc/platforms/cell/spufs/coredump.c if (!dump_emit(cprm, buf, rc)) cprm 162 arch/powerpc/platforms/cell/spufs/coredump.c skip = roundup(cprm->pos - total + sz, 4) - cprm->pos; cprm 163 arch/powerpc/platforms/cell/spufs/coredump.c if (!dump_skip(cprm, skip)) cprm 175 arch/powerpc/platforms/cell/spufs/coredump.c int spufs_coredump_extra_notes_write(struct coredump_params *cprm) cprm 187 arch/powerpc/platforms/cell/spufs/coredump.c rc = spufs_arch_write_note(ctx, j, cprm, fd); cprm 239 arch/powerpc/platforms/cell/spufs/spufs.h extern int spufs_coredump_extra_notes_write(struct coredump_params *cprm); cprm 15 arch/x86/um/elfcore.c int elf_core_write_extra_phdrs(struct coredump_params *cprm, loff_t offset) cprm 35 arch/x86/um/elfcore.c if (!dump_emit(cprm, &phdr, sizeof(phdr))) cprm 42 arch/x86/um/elfcore.c int elf_core_write_extra_data(struct coredump_params *cprm) cprm 55 arch/x86/um/elfcore.c if (!dump_emit(cprm, addr, filesz)) cprm 73 fs/binfmt_elf.c static int elf_core_dump(struct coredump_params *cprm); cprm 1414 fs/binfmt_elf.c static int writenote(struct memelfnote *men, struct coredump_params *cprm) cprm 1421 fs/binfmt_elf.c return dump_emit(cprm, &en, sizeof(en)) && cprm 1422 fs/binfmt_elf.c dump_emit(cprm, men->name, en.n_namesz) && dump_align(cprm, 4) && cprm 1423 fs/binfmt_elf.c dump_emit(cprm, men->data, men->datasz) && dump_align(cprm, 4); cprm 1865 fs/binfmt_elf.c struct coredump_params *cprm) cprm 1873 fs/binfmt_elf.c if (!writenote(&t->notes[0], cprm)) cprm 1876 fs/binfmt_elf.c if (first && !writenote(&info->psinfo, cprm)) cprm 1878 fs/binfmt_elf.c if (first && !writenote(&info->signote, cprm)) cprm 1880 fs/binfmt_elf.c if (first && !writenote(&info->auxv, cprm)) cprm 1883 fs/binfmt_elf.c !writenote(&info->files, cprm)) cprm 1888 fs/binfmt_elf.c !writenote(&t->notes[i], cprm)) cprm 2093 fs/binfmt_elf.c struct coredump_params *cprm) cprm 2099 fs/binfmt_elf.c if (!writenote(info->notes + i, cprm)) cprm 2105 fs/binfmt_elf.c if (!writenote(&ets->notes[i], cprm)) cprm 2184 fs/binfmt_elf.c static int elf_core_dump(struct coredump_params *cprm) cprm 2239 fs/binfmt_elf.c if (!fill_note_info(elf, e_phnum, &info, cprm->siginfo, cprm->regs)) cprm 2277 fs/binfmt_elf.c dump_size = vma_dump_size(vma, cprm->mm_flags); cprm 2295 fs/binfmt_elf.c if (!dump_emit(cprm, elf, sizeof(*elf))) cprm 2298 fs/binfmt_elf.c if (!dump_emit(cprm, phdr4note, sizeof(*phdr4note))) cprm 2320 fs/binfmt_elf.c if (!dump_emit(cprm, &phdr, sizeof(phdr))) cprm 2324 fs/binfmt_elf.c if (!elf_core_write_extra_phdrs(cprm, offset)) cprm 2328 fs/binfmt_elf.c if (!write_note_info(&info, cprm)) cprm 2331 fs/binfmt_elf.c if (elf_coredump_extra_notes_write(cprm)) cprm 2335 fs/binfmt_elf.c if (!dump_skip(cprm, dataoff - cprm->pos)) cprm 2352 fs/binfmt_elf.c stop = !dump_emit(cprm, kaddr, PAGE_SIZE); cprm 2356 fs/binfmt_elf.c stop = !dump_skip(cprm, PAGE_SIZE); cprm 2361 fs/binfmt_elf.c dump_truncate(cprm); cprm 2363 fs/binfmt_elf.c if (!elf_core_write_extra_data(cprm)) cprm 2367 fs/binfmt_elf.c if (!dump_emit(cprm, shdr4extnum, sizeof(*shdr4extnum))) cprm 78 fs/binfmt_elf_fdpic.c static int elf_fdpic_core_dump(struct coredump_params *cprm); cprm 1278 fs/binfmt_elf_fdpic.c static int writenote(struct memelfnote *men, struct coredump_params *cprm) cprm 1285 fs/binfmt_elf_fdpic.c return dump_emit(cprm, &en, sizeof(en)) && cprm 1286 fs/binfmt_elf_fdpic.c dump_emit(cprm, men->name, en.n_namesz) && dump_align(cprm, 4) && cprm 1287 fs/binfmt_elf_fdpic.c dump_emit(cprm, men->data, men->datasz) && dump_align(cprm, 4); cprm 1493 fs/binfmt_elf_fdpic.c static bool elf_fdpic_dump_segments(struct coredump_params *cprm) cprm 1502 fs/binfmt_elf_fdpic.c if (!maydump(vma, cprm->mm_flags)) cprm 1512 fs/binfmt_elf_fdpic.c res = dump_emit(cprm, kaddr, PAGE_SIZE); cprm 1516 fs/binfmt_elf_fdpic.c res = dump_skip(cprm, PAGE_SIZE); cprm 1522 fs/binfmt_elf_fdpic.c if (!dump_emit(cprm, (void *) vma->vm_start, cprm 1548 fs/binfmt_elf_fdpic.c static int elf_fdpic_core_dump(struct coredump_params *cprm) cprm 1627 fs/binfmt_elf_fdpic.c sz = elf_dump_thread_status(cprm->siginfo->si_signo, tmp); cprm 1632 fs/binfmt_elf_fdpic.c fill_prstatus(prstatus, current, cprm->siginfo->si_signo); cprm 1633 fs/binfmt_elf_fdpic.c elf_core_copy_regs(&prstatus->pr_reg, cprm->regs); cprm 1672 fs/binfmt_elf_fdpic.c elf_core_copy_task_fpregs(current, cprm->regs, fpu))) cprm 1707 fs/binfmt_elf_fdpic.c offset += elf_core_vma_data_size(cprm->mm_flags); cprm 1720 fs/binfmt_elf_fdpic.c if (!dump_emit(cprm, elf, sizeof(*elf))) cprm 1723 fs/binfmt_elf_fdpic.c if (!dump_emit(cprm, phdr4note, sizeof(*phdr4note))) cprm 1737 fs/binfmt_elf_fdpic.c phdr.p_filesz = maydump(vma, cprm->mm_flags) ? sz : 0; cprm 1747 fs/binfmt_elf_fdpic.c if (!dump_emit(cprm, &phdr, sizeof(phdr))) cprm 1751 fs/binfmt_elf_fdpic.c if (!elf_core_write_extra_phdrs(cprm, offset)) cprm 1756 fs/binfmt_elf_fdpic.c if (!writenote(notes + i, cprm)) cprm 1765 fs/binfmt_elf_fdpic.c if (!writenote(&tmp->notes[i], cprm)) cprm 1769 fs/binfmt_elf_fdpic.c if (!dump_skip(cprm, dataoff - cprm->pos)) cprm 1772 fs/binfmt_elf_fdpic.c if (!elf_fdpic_dump_segments(cprm)) cprm 1775 fs/binfmt_elf_fdpic.c if (!elf_core_write_extra_data(cprm)) cprm 1779 fs/binfmt_elf_fdpic.c if (!dump_emit(cprm, shdr4extnum, sizeof(*shdr4extnum))) cprm 1783 fs/binfmt_elf_fdpic.c if (cprm->file->f_pos != offset) { cprm 1787 fs/binfmt_elf_fdpic.c cprm->file->f_pos, offset); cprm 94 fs/binfmt_flat.c static int flat_core_dump(struct coredump_params *cprm); cprm 109 fs/binfmt_flat.c static int flat_core_dump(struct coredump_params *cprm) cprm 112 fs/binfmt_flat.c current->comm, current->pid, cprm->siginfo->si_signo); cprm 191 fs/coredump.c static int format_corename(struct core_name *cn, struct coredump_params *cprm, cprm 282 fs/coredump.c __get_dumpable(cprm->mm_flags)); cprm 287 fs/coredump.c cprm->siginfo->si_signo); cprm 584 fs/coredump.c struct coredump_params cprm = { cprm 601 fs/coredump.c if (!__get_dumpable(cprm.mm_flags)) cprm 613 fs/coredump.c if (__get_dumpable(cprm.mm_flags) == SUID_DUMP_ROOT) { cprm 625 fs/coredump.c ispipe = format_corename(&cn, &cprm, &argv, &argc); cprm 639 fs/coredump.c if (cprm.limit == 1) { cprm 661 fs/coredump.c cprm.limit = RLIM_INFINITY; cprm 685 fs/coredump.c umh_pipe_setup, NULL, &cprm); cprm 701 fs/coredump.c if (cprm.limit < binfmt->min_coredump) cprm 748 fs/coredump.c cprm.file = file_open_root(root.dentry, root.mnt, cprm 752 fs/coredump.c cprm.file = filp_open(cn.corename, open_flags, 0600); cprm 754 fs/coredump.c if (IS_ERR(cprm.file)) cprm 757 fs/coredump.c inode = file_inode(cprm.file); cprm 760 fs/coredump.c if (d_unhashed(cprm.file->f_path.dentry)) cprm 778 fs/coredump.c if (!(cprm.file->f_mode & FMODE_CAN_WRITE)) cprm 780 fs/coredump.c if (do_truncate(cprm.file->f_path.dentry, 0, 0, cprm.file)) cprm 795 fs/coredump.c if (!cprm.file) { cprm 799 fs/coredump.c file_start_write(cprm.file); cprm 800 fs/coredump.c core_dumped = binfmt->core_dump(&cprm); cprm 801 fs/coredump.c file_end_write(cprm.file); cprm 804 fs/coredump.c wait_for_dump_helpers(cprm.file); cprm 806 fs/coredump.c if (cprm.file) cprm 807 fs/coredump.c filp_close(cprm.file, NULL); cprm 827 fs/coredump.c int dump_emit(struct coredump_params *cprm, const void *addr, int nr) cprm 829 fs/coredump.c struct file *file = cprm->file; cprm 832 fs/coredump.c if (cprm->written + nr > cprm->limit) cprm 841 fs/coredump.c cprm->written += n; cprm 842 fs/coredump.c cprm->pos += n; cprm 849 fs/coredump.c int dump_skip(struct coredump_params *cprm, size_t nr) cprm 852 fs/coredump.c struct file *file = cprm->file; cprm 857 fs/coredump.c cprm->pos += nr; cprm 861 fs/coredump.c if (!dump_emit(cprm, zeroes, PAGE_SIZE)) cprm 865 fs/coredump.c return dump_emit(cprm, zeroes, nr); cprm 870 fs/coredump.c int dump_align(struct coredump_params *cprm, int align) cprm 872 fs/coredump.c unsigned mod = cprm->pos & (align - 1); cprm 875 fs/coredump.c return mod ? dump_skip(cprm, align - mod) : 1; cprm 884 fs/coredump.c void dump_truncate(struct coredump_params *cprm) cprm 886 fs/coredump.c struct file *file = cprm->file; cprm 101 include/linux/binfmts.h int (*core_dump)(struct coredump_params *cprm); cprm 15 include/linux/coredump.h extern int dump_skip(struct coredump_params *cprm, size_t nr); cprm 16 include/linux/coredump.h extern int dump_emit(struct coredump_params *cprm, const void *addr, int nr); cprm 17 include/linux/coredump.h extern int dump_align(struct coredump_params *cprm, int align); cprm 18 include/linux/coredump.h extern void dump_truncate(struct coredump_params *cprm); cprm 54 include/linux/elf.h static inline int elf_coredump_extra_notes_write(struct coredump_params *cprm) { return 0; } cprm 57 include/linux/elf.h extern int elf_coredump_extra_notes_write(struct coredump_params *cprm); cprm 71 include/linux/elfcore.h elf_core_write_extra_phdrs(struct coredump_params *cprm, loff_t offset); cprm 73 include/linux/elfcore.h elf_core_write_extra_data(struct coredump_params *cprm); cprm 13 kernel/elfcore.c int __weak elf_core_write_extra_phdrs(struct coredump_params *cprm, loff_t offset) cprm 18 kernel/elfcore.c int __weak elf_core_write_extra_data(struct coredump_params *cprm)