Lines Matching refs:cprm
81 static int elf_core_dump(struct coredump_params *cprm);
1477 static int writenote(struct memelfnote *men, struct coredump_params *cprm)
1484 return dump_emit(cprm, &en, sizeof(en)) &&
1485 dump_emit(cprm, men->name, en.n_namesz) && dump_align(cprm, 4) &&
1486 dump_emit(cprm, men->data, men->datasz) && dump_align(cprm, 4);
1641 static int fill_files_note(struct memelfnote *note, struct coredump_params *cprm)
1650 count = cprm->vma_count;
1672 for (i = 0; i < cprm->vma_count; i++) {
1673 struct core_vma_metadata *m = &cprm->vma_meta[i];
1710 n = cprm->vma_count - count;
1825 struct coredump_params *cprm)
1897 if (!fill_thread_core_info(t, view, cprm->siginfo->si_signo, &info->size))
1906 fill_siginfo_note(&info->signote, &info->csigdata, cprm->siginfo);
1912 if (fill_files_note(&info->files, cprm) == 0)
1928 struct coredump_params *cprm)
1936 if (!writenote(&t->notes[0], cprm))
1939 if (first && !writenote(&info->psinfo, cprm))
1941 if (first && !writenote(&info->signote, cprm))
1943 if (first && !writenote(&info->auxv, cprm))
1946 !writenote(&info->files, cprm))
1951 !writenote(&t->notes[i], cprm))
2054 struct coredump_params *cprm)
2075 sz = elf_dump_thread_status(cprm->siginfo->si_signo, ets);
2080 fill_prstatus(info->prstatus, current, cprm->siginfo->si_signo);
2081 elf_core_copy_regs(&info->prstatus->pr_reg, cprm->regs);
2097 fill_siginfo_note(info->notes + 2, &info->csigdata, cprm->siginfo);
2101 if (fill_files_note(info->notes + info->numnote, cprm) == 0) {
2108 elf_core_copy_task_fpregs(current, cprm->regs, info->fpu);
2129 struct coredump_params *cprm)
2135 if (!writenote(info->notes + i, cprm))
2141 if (!writenote(&ets->notes[i], cprm))
2191 static int elf_core_dump(struct coredump_params *cprm)
2207 segs = cprm->vma_count + elf_core_extra_phdrs();
2221 if (!fill_note_info(&elf, e_phnum, &info, cprm))
2245 offset += cprm->vma_data_size;
2258 if (!dump_emit(cprm, &elf, sizeof(elf)))
2261 if (!dump_emit(cprm, phdr4note, sizeof(*phdr4note)))
2265 for (i = 0; i < cprm->vma_count; i++) {
2266 struct core_vma_metadata *meta = cprm->vma_meta + i;
2285 if (!dump_emit(cprm, &phdr, sizeof(phdr)))
2289 if (!elf_core_write_extra_phdrs(cprm, offset))
2293 if (!write_note_info(&info, cprm))
2296 if (elf_coredump_extra_notes_write(cprm))
2300 if (!dump_skip(cprm, dataoff - cprm->pos))
2303 for (i = 0; i < cprm->vma_count; i++) {
2304 struct core_vma_metadata *meta = cprm->vma_meta + i;
2306 if (!dump_user_range(cprm, meta->start, meta->dump_size))
2309 dump_truncate(cprm);
2311 if (!elf_core_write_extra_data(cprm))
2315 if (!dump_emit(cprm, shdr4extnum, sizeof(*shdr4extnum)))