cregit-Linux how code gets into the kernel

Release 4.14 arch/ia64/kernel/elfcore.c

Directory: arch/ia64/kernel
// SPDX-License-Identifier: GPL-2.0
#include <linux/elf.h>
#include <linux/coredump.h>
#include <linux/fs.h>
#include <linux/mm.h>

#include <asm/elf.h>



Elf64_Half elf_core_extra_phdrs(void) { return GATE_EHDR->e_phnum; }

Contributors

PersonTokensPropCommitsCommitProp
Daisuke Hatayama12100.00%1100.00%
Total12100.00%1100.00%


int elf_core_write_extra_phdrs(struct coredump_params *cprm, loff_t offset) { const struct elf_phdr *const gate_phdrs = (const struct elf_phdr *) (GATE_ADDR + GATE_EHDR->e_phoff); int i; Elf64_Off ofs = 0; for (i = 0; i < GATE_EHDR->e_phnum; ++i) { struct elf_phdr phdr = gate_phdrs[i]; if (phdr.p_type == PT_LOAD) { phdr.p_memsz = PAGE_ALIGN(phdr.p_memsz); phdr.p_filesz = phdr.p_memsz; if (ofs == 0) { ofs = phdr.p_offset = offset; offset += phdr.p_filesz; } else { phdr.p_offset = ofs; } } else { phdr.p_offset += ofs; } phdr.p_paddr = 0; /* match other core phdrs */ if (!dump_emit(cprm, &phdr, sizeof(phdr))) return 0; } return 1; }

Contributors

PersonTokensPropCommitsCommitProp
Daisuke Hatayama16297.59%150.00%
Al Viro42.41%150.00%
Total166100.00%2100.00%


int elf_core_write_extra_data(struct coredump_params *cprm) { const struct elf_phdr *const gate_phdrs = (const struct elf_phdr *) (GATE_ADDR + GATE_EHDR->e_phoff); int i; for (i = 0; i < GATE_EHDR->e_phnum; ++i) { if (gate_phdrs[i].p_type == PT_LOAD) { void *addr = (void *)gate_phdrs[i].p_vaddr; size_t memsz = PAGE_ALIGN(gate_phdrs[i].p_memsz); if (!dump_emit(cprm, addr, memsz)) return 0; break; } } return 1; }

Contributors

PersonTokensPropCommitsCommitProp
Daisuke Hatayama10796.40%150.00%
Al Viro43.60%150.00%
Total111100.00%2100.00%


size_t elf_core_extra_data_size(void) { const struct elf_phdr *const gate_phdrs = (const struct elf_phdr *) (GATE_ADDR + GATE_EHDR->e_phoff); int i; size_t size = 0; for (i = 0; i < GATE_EHDR->e_phnum; ++i) { if (gate_phdrs[i].p_type == PT_LOAD) { size += PAGE_ALIGN(gate_phdrs[i].p_memsz); break; } } return size; }

Contributors

PersonTokensPropCommitsCommitProp
Daisuke Hatayama82100.00%1100.00%
Total82100.00%1100.00%


Overall Contributors

PersonTokensPropCommitsCommitProp
Daisuke Hatayama37897.67%240.00%
Al Viro82.07%240.00%
Greg Kroah-Hartman10.26%120.00%
Total387100.00%5100.00%
Directory: arch/ia64/kernel
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.