/openbmc/linux/drivers/soc/qcom/ |
H A D | mdt_loader.c | 20 static bool mdt_phdr_valid(const struct elf32_phdr *phdr) in mdt_phdr_valid() argument 22 if (phdr->p_type != PT_LOAD) in mdt_phdr_valid() 25 if ((phdr->p_flags & QCOM_MDT_TYPE_MASK) == QCOM_MDT_TYPE_HASH) in mdt_phdr_valid() 28 if (!phdr->p_memsz) in mdt_phdr_valid() 38 const struct elf32_phdr *phdr = &phdrs[segment]; in mdt_load_split_segment() local 52 ptr, phdr->p_filesz); in mdt_load_split_segment() 59 if (seg_fw->size != phdr->p_filesz) { in mdt_load_split_segment() 81 const struct elf32_phdr *phdr; in qcom_mdt_get_size() local 91 phdr = &phdrs[i]; in qcom_mdt_get_size() 93 if (!mdt_phdr_valid(phdr)) in qcom_mdt_get_size() [all …]
|
H A D | smem.c | 292 phdr_to_last_uncached_entry(struct smem_partition_header *phdr) in phdr_to_last_uncached_entry() argument 294 void *p = phdr; in phdr_to_last_uncached_entry() 296 return p + le32_to_cpu(phdr->offset_free_uncached); in phdr_to_last_uncached_entry() 300 phdr_to_first_cached_entry(struct smem_partition_header *phdr, in phdr_to_first_cached_entry() argument 303 void *p = phdr; in phdr_to_first_cached_entry() 306 return p + le32_to_cpu(phdr->size) - ALIGN(sizeof(*e), cacheline); in phdr_to_first_cached_entry() 310 phdr_to_last_cached_entry(struct smem_partition_header *phdr) in phdr_to_last_cached_entry() argument 312 void *p = phdr; in phdr_to_last_cached_entry() 314 return p + le32_to_cpu(phdr->offset_free_cached); in phdr_to_last_cached_entry() 318 phdr_to_first_uncached_entry(struct smem_partition_header *phdr) in phdr_to_first_uncached_entry() argument [all …]
|
/openbmc/linux/arch/s390/kernel/ |
H A D | kexec_elf.c | 21 const Elf_Phdr *phdr; in kexec_file_add_kernel_elf() local 34 phdr = (void *)ehdr + ehdr->e_phoff; in kexec_file_add_kernel_elf() 35 for (i = 0; i < ehdr->e_phnum; i++, phdr++) { in kexec_file_add_kernel_elf() 36 if (phdr->p_type != PT_LOAD) in kexec_file_add_kernel_elf() 39 buf.buffer = kernel + phdr->p_offset; in kexec_file_add_kernel_elf() 40 buf.bufsz = phdr->p_filesz; in kexec_file_add_kernel_elf() 42 buf.mem = ALIGN(phdr->p_paddr, phdr->p_align); in kexec_file_add_kernel_elf() 45 buf.memsz = phdr->p_memsz; in kexec_file_add_kernel_elf() 46 data->memsz = ALIGN(data->memsz, phdr->p_align) + buf.memsz; in kexec_file_add_kernel_elf() 48 if (entry - phdr->p_paddr < phdr->p_memsz) { in kexec_file_add_kernel_elf() [all …]
|
/openbmc/linux/fs/ |
H A D | binfmt_elf_fdpic.c | 141 struct elf_phdr *phdr; in elf_fdpic_fetch_phdrs() local 161 phdr = params->phdrs; in elf_fdpic_fetch_phdrs() 162 for (loop = 0; loop < params->hdr.e_phnum; loop++, phdr++) { in elf_fdpic_fetch_phdrs() 163 if (phdr->p_type != PT_GNU_STACK) in elf_fdpic_fetch_phdrs() 166 if (phdr->p_flags & PF_X) in elf_fdpic_fetch_phdrs() 171 params->stack_size = phdr->p_memsz; in elf_fdpic_fetch_phdrs() 186 struct elf_phdr *phdr; in load_elf_fdpic_binary() local 229 phdr = exec_params.phdrs; in load_elf_fdpic_binary() 231 for (i = 0; i < exec_params.hdr.e_phnum; i++, phdr++) { in load_elf_fdpic_binary() 232 switch (phdr->p_type) { in load_elf_fdpic_binary() [all …]
|
/openbmc/linux/kernel/ |
H A D | kexec_elf.c | 185 static bool elf_is_phdr_sane(const struct elf_phdr *phdr, size_t buf_len) in elf_is_phdr_sane() argument 188 if (phdr->p_offset + phdr->p_filesz < phdr->p_offset) { in elf_is_phdr_sane() 191 } else if (phdr->p_offset + phdr->p_filesz > buf_len) { in elf_is_phdr_sane() 194 } else if (phdr->p_paddr + phdr->p_memsz < phdr->p_paddr) { in elf_is_phdr_sane() 207 struct elf_phdr *phdr = (struct elf_phdr *) &elf_info->proghdrs[idx]; in elf_read_phdr() local 215 phdr->p_type = elf32_to_cpu(elf_info->ehdr, buf_phdr->p_type); in elf_read_phdr() 216 phdr->p_flags = elf32_to_cpu(elf_info->ehdr, buf_phdr->p_flags); in elf_read_phdr() 220 phdr->p_offset = elf64_to_cpu(ehdr, buf_phdr->p_offset); in elf_read_phdr() 221 phdr->p_paddr = elf64_to_cpu(ehdr, buf_phdr->p_paddr); in elf_read_phdr() 222 phdr->p_vaddr = elf64_to_cpu(ehdr, buf_phdr->p_vaddr); in elf_read_phdr() [all …]
|
H A D | crash_core.c | 328 Elf64_Phdr *phdr; in crash_prepare_elf64_headers() local 356 phdr = (Elf64_Phdr *)(ehdr + 1); in crash_prepare_elf64_headers() 372 phdr->p_type = PT_NOTE; in crash_prepare_elf64_headers() 374 phdr->p_offset = phdr->p_paddr = notes_addr; in crash_prepare_elf64_headers() 375 phdr->p_filesz = phdr->p_memsz = sizeof(note_buf_t); in crash_prepare_elf64_headers() 377 phdr++; in crash_prepare_elf64_headers() 381 phdr->p_type = PT_NOTE; in crash_prepare_elf64_headers() 382 phdr->p_offset = phdr->p_paddr = paddr_vmcoreinfo_note(); in crash_prepare_elf64_headers() 383 phdr->p_filesz = phdr->p_memsz = VMCOREINFO_NOTE_SIZE; in crash_prepare_elf64_headers() 385 phdr++; in crash_prepare_elf64_headers() [all …]
|
/openbmc/linux/arch/ia64/kernel/ |
H A D | elfcore.c | 23 struct elf_phdr phdr = gate_phdrs[i]; in elf_core_write_extra_phdrs() local 25 if (phdr.p_type == PT_LOAD) { in elf_core_write_extra_phdrs() 26 phdr.p_memsz = PAGE_ALIGN(phdr.p_memsz); in elf_core_write_extra_phdrs() 27 phdr.p_filesz = phdr.p_memsz; in elf_core_write_extra_phdrs() 29 ofs = phdr.p_offset = offset; in elf_core_write_extra_phdrs() 30 offset += phdr.p_filesz; in elf_core_write_extra_phdrs() 32 phdr.p_offset = ofs; in elf_core_write_extra_phdrs() 35 phdr.p_offset += ofs; in elf_core_write_extra_phdrs() 37 phdr.p_paddr = 0; /* match other core phdrs */ in elf_core_write_extra_phdrs() 38 if (!dump_emit(cprm, &phdr, sizeof(phdr))) in elf_core_write_extra_phdrs()
|
/openbmc/linux/tools/testing/selftests/kvm/lib/ |
H A D | elf.c | 148 Elf64_Phdr phdr; in kvm_vm_elf_load() local 149 test_read(fd, &phdr, sizeof(phdr)); in kvm_vm_elf_load() 152 if (phdr.p_type != PT_LOAD) in kvm_vm_elf_load() 156 TEST_ASSERT(phdr.p_memsz > 0, "Unexpected loadable segment " in kvm_vm_elf_load() 159 n1, (uint64_t) phdr.p_memsz); in kvm_vm_elf_load() 160 vm_vaddr_t seg_vstart = align_down(phdr.p_vaddr, vm->page_size); in kvm_vm_elf_load() 161 vm_vaddr_t seg_vend = phdr.p_vaddr + phdr.p_memsz - 1; in kvm_vm_elf_load() 181 if (phdr.p_filesz) { in kvm_vm_elf_load() 182 offset_rv = lseek(fd, phdr.p_offset, SEEK_SET); in kvm_vm_elf_load() 183 TEST_ASSERT(offset_rv == phdr.p_offset, in kvm_vm_elf_load() [all …]
|
/openbmc/u-boot/drivers/smem/ |
H A D | msm_smem.c | 273 phdr_to_last_uncached_entry(struct smem_partition_header *phdr) in phdr_to_last_uncached_entry() argument 275 void *p = phdr; in phdr_to_last_uncached_entry() 277 return p + le32_to_cpu(phdr->offset_free_uncached); in phdr_to_last_uncached_entry() 280 static void *phdr_to_first_cached_entry(struct smem_partition_header *phdr, in phdr_to_first_cached_entry() argument 283 void *p = phdr; in phdr_to_first_cached_entry() 285 return p + le32_to_cpu(phdr->size) - ALIGN(sizeof(*phdr), cacheline); in phdr_to_first_cached_entry() 288 static void *phdr_to_last_cached_entry(struct smem_partition_header *phdr) in phdr_to_last_cached_entry() argument 290 void *p = phdr; in phdr_to_last_cached_entry() 292 return p + le32_to_cpu(phdr->offset_free_cached); in phdr_to_last_cached_entry() 296 phdr_to_first_uncached_entry(struct smem_partition_header *phdr) in phdr_to_first_uncached_entry() argument [all …]
|
/openbmc/u-boot/cmd/ |
H A D | elf.c | 38 Elf64_Phdr *phdr; /* Program header structure pointer */ in load_elf64_image_phdr() local 42 phdr = (Elf64_Phdr *)(addr + (ulong)ehdr->e_phoff); in load_elf64_image_phdr() 46 void *dst = (void *)(ulong)phdr->p_paddr; in load_elf64_image_phdr() 47 void *src = (void *)addr + phdr->p_offset; in load_elf64_image_phdr() 50 i, dst, (ulong)phdr->p_filesz); in load_elf64_image_phdr() 51 if (phdr->p_filesz) in load_elf64_image_phdr() 52 memcpy(dst, src, phdr->p_filesz); in load_elf64_image_phdr() 53 if (phdr->p_filesz != phdr->p_memsz) in load_elf64_image_phdr() 54 memset(dst + phdr->p_filesz, 0x00, in load_elf64_image_phdr() 55 phdr->p_memsz - phdr->p_filesz); in load_elf64_image_phdr() [all …]
|
/openbmc/linux/arch/arm64/kernel/ |
H A D | elfcore.c | 96 struct elf_phdr phdr; in elf_core_write_extra_phdrs() local 98 phdr.p_type = PT_AARCH64_MEMTAG_MTE; in elf_core_write_extra_phdrs() 99 phdr.p_offset = offset; in elf_core_write_extra_phdrs() 100 phdr.p_vaddr = m->start; in elf_core_write_extra_phdrs() 101 phdr.p_paddr = 0; in elf_core_write_extra_phdrs() 102 phdr.p_filesz = mte_vma_tag_dump_size(m); in elf_core_write_extra_phdrs() 103 phdr.p_memsz = m->end - m->start; in elf_core_write_extra_phdrs() 104 offset += phdr.p_filesz; in elf_core_write_extra_phdrs() 105 phdr.p_flags = 0; in elf_core_write_extra_phdrs() 106 phdr.p_align = 0; in elf_core_write_extra_phdrs() [all …]
|
/openbmc/linux/tools/perf/util/ |
H A D | symbol-minimal.c | 117 Elf32_Phdr *phdr; in filename__read_build_id() local 137 for (i = 0, phdr = buf; i < ehdr.e_phnum; i++, phdr++) { in filename__read_build_id() 142 phdr->p_type = bswap_32(phdr->p_type); in filename__read_build_id() 143 phdr->p_offset = bswap_32(phdr->p_offset); in filename__read_build_id() 144 phdr->p_filesz = bswap_32(phdr->p_filesz); in filename__read_build_id() 147 if (phdr->p_type != PT_NOTE) in filename__read_build_id() 150 buf_size = phdr->p_filesz; in filename__read_build_id() 151 offset = phdr->p_offset; in filename__read_build_id() 168 Elf64_Phdr *phdr; in filename__read_build_id() local 188 for (i = 0, phdr = buf; i < ehdr.e_phnum; i++, phdr++) { in filename__read_build_id() [all …]
|
/openbmc/qemu/linux-user/ |
H A D | gen-vdso-elfn.c.inc | 27 static void elfN(bswap_phdr)(ElfN(Phdr) *phdr) 29 bswaps(&phdr->p_type); /* Segment type */ 30 bswaps(&phdr->p_flags); /* Segment flags */ 31 bswaps(&phdr->p_offset); /* Segment file offset */ 32 bswaps(&phdr->p_vaddr); /* Segment virtual address */ 33 bswaps(&phdr->p_paddr); /* Segment physical address */ 34 bswaps(&phdr->p_filesz); /* Segment size in file */ 35 bswaps(&phdr->p_memsz); /* Segment size in memory */ 36 bswaps(&phdr->p_align); /* Segment alignment */ 96 ElfN(Phdr) *phdr = (void *)ehdr + ehdr->e_phoff; [all …]
|
/openbmc/linux/arch/x86/um/ |
H A D | elfcore.c | 26 struct elf_phdr phdr = phdrp[i]; in elf_core_write_extra_phdrs() local 28 if (phdr.p_type == PT_LOAD) { in elf_core_write_extra_phdrs() 29 ofs = phdr.p_offset = offset; in elf_core_write_extra_phdrs() 30 offset += phdr.p_filesz; in elf_core_write_extra_phdrs() 32 phdr.p_offset += ofs; in elf_core_write_extra_phdrs() 34 phdr.p_paddr = 0; /* match other core phdrs */ in elf_core_write_extra_phdrs() 35 if (!dump_emit(cprm, &phdr, sizeof(phdr))) in elf_core_write_extra_phdrs()
|
/openbmc/linux/fs/proc/ |
H A D | vmcore.c | 855 Elf64_Phdr phdr; in merge_note_headers_elf64() local 878 phdr.p_type = PT_NOTE; in merge_note_headers_elf64() 879 phdr.p_flags = 0; in merge_note_headers_elf64() 882 phdr.p_offset = roundup(note_off, PAGE_SIZE); in merge_note_headers_elf64() 883 phdr.p_vaddr = phdr.p_paddr = 0; in merge_note_headers_elf64() 884 phdr.p_filesz = phdr.p_memsz = phdr_sz; in merge_note_headers_elf64() 885 phdr.p_align = 4; in merge_note_headers_elf64() 889 memcpy(tmp, &phdr, sizeof(phdr)); in merge_note_headers_elf64() 890 tmp += sizeof(phdr); in merge_note_headers_elf64() 905 elfnotes_orig_sz = phdr.p_memsz; in merge_note_headers_elf64() [all …]
|
/openbmc/linux/drivers/media/common/siano/ |
H A D | smsendian.c | 85 struct sms_msg_hdr *phdr = (struct sms_msg_hdr *)msg; in smsendian_handle_message_header() local 87 phdr->msg_type = le16_to_cpu((__force __le16)phdr->msg_type); in smsendian_handle_message_header() 88 phdr->msg_length = le16_to_cpu((__force __le16)phdr->msg_length); in smsendian_handle_message_header() 89 phdr->msg_flags = le16_to_cpu((__force __le16)phdr->msg_flags); in smsendian_handle_message_header()
|
/openbmc/linux/drivers/media/usb/siano/ |
H A D | smsusb.c | 98 struct sms_msg_hdr *phdr = (struct sms_msg_hdr *)surb->cb->p; in smsusb_onresponse() local 100 smsendian_handle_message_header(phdr); in smsusb_onresponse() 101 if (urb->actual_length >= phdr->msg_length) { in smsusb_onresponse() 102 surb->cb->size = phdr->msg_length; in smsusb_onresponse() 105 (phdr->msg_flags & MSG_HDR_FLAG_SPLIT_MSG)) { in smsusb_onresponse() 109 ((phdr->msg_flags >> 8) & 3); in smsusb_onresponse() 112 if (((int) phdr->msg_length + in smsusb_onresponse() 115 phdr->msg_length, in smsusb_onresponse() 123 memcpy((char *) phdr + surb->cb->offset, in smsusb_onresponse() 124 phdr, sizeof(struct sms_msg_hdr)); in smsusb_onresponse() [all …]
|
/openbmc/linux/drivers/remoteproc/ |
H A D | remoteproc_elf_helpers.h | 70 ELF_GEN_FIELD_GET_SET(phdr, p_paddr, u64) in ELF_GEN_FIELD_GET_SET() 71 ELF_GEN_FIELD_GET_SET(phdr, p_vaddr, u64) in ELF_GEN_FIELD_GET_SET() 72 ELF_GEN_FIELD_GET_SET(phdr, p_filesz, u64) in ELF_GEN_FIELD_GET_SET() 73 ELF_GEN_FIELD_GET_SET(phdr, p_memsz, u64) in ELF_GEN_FIELD_GET_SET() 74 ELF_GEN_FIELD_GET_SET(phdr, p_type, u32) in ELF_GEN_FIELD_GET_SET() 75 ELF_GEN_FIELD_GET_SET(phdr, p_offset, u64) in ELF_GEN_FIELD_GET_SET() 76 ELF_GEN_FIELD_GET_SET(phdr, p_flags, u32) in ELF_GEN_FIELD_GET_SET() 77 ELF_GEN_FIELD_GET_SET(phdr, p_align, u64) in ELF_GEN_FIELD_GET_SET() 97 ELF_STRUCT_SIZE(phdr)
|
/openbmc/linux/lib/ |
H A D | buildid.c | 79 Elf32_Phdr *phdr; in get_build_id_32() local 95 phdr = (Elf32_Phdr *)(page_addr + sizeof(Elf32_Ehdr)); in get_build_id_32() 98 if (phdr[i].p_type == PT_NOTE && in get_build_id_32() 100 page_addr + READ_ONCE(phdr[i].p_offset), in get_build_id_32() 101 READ_ONCE(phdr[i].p_filesz))) in get_build_id_32() 112 Elf64_Phdr *phdr; in get_build_id_64() local 128 phdr = (Elf64_Phdr *)(page_addr + sizeof(Elf64_Ehdr)); in get_build_id_64() 131 if (phdr[i].p_type == PT_NOTE && in get_build_id_64() 133 page_addr + READ_ONCE(phdr[i].p_offset), in get_build_id_64() 134 READ_ONCE(phdr[i].p_filesz))) in get_build_id_64()
|
/openbmc/linux/arch/powerpc/kernel/ |
H A D | fadump.c | 761 struct elf_phdr *phdr; in fadump_update_elfcore_header() local 766 phdr = (struct elf_phdr *)bufp; in fadump_update_elfcore_header() 768 if (phdr->p_type == PT_NOTE) { in fadump_update_elfcore_header() 769 phdr->p_paddr = __pa(fw_dump.cpu_notes_buf_vaddr); in fadump_update_elfcore_header() 770 phdr->p_offset = phdr->p_paddr; in fadump_update_elfcore_header() 771 phdr->p_filesz = fw_dump.cpu_notes_buf_size; in fadump_update_elfcore_header() 772 phdr->p_memsz = fw_dump.cpu_notes_buf_size; in fadump_update_elfcore_header() 1070 struct elf_phdr *phdr; in fadump_create_elfcore_headers() local 1085 phdr = (struct elf_phdr *)bufp; in fadump_create_elfcore_headers() 1087 phdr->p_type = PT_NOTE; in fadump_create_elfcore_headers() [all …]
|
/openbmc/linux/arch/riscv/kernel/ |
H A D | elf_kexec.c | 44 const struct elf_phdr *phdr; in riscv_kexec_elf_load() local 49 phdr = &elf_info->proghdrs[i]; in riscv_kexec_elf_load() 50 if (phdr->p_type != PT_LOAD) in riscv_kexec_elf_load() 53 size = phdr->p_filesz; in riscv_kexec_elf_load() 54 if (size > phdr->p_memsz) in riscv_kexec_elf_load() 55 size = phdr->p_memsz; in riscv_kexec_elf_load() 57 kbuf.buffer = (void *) elf_info->buffer + phdr->p_offset; in riscv_kexec_elf_load() 59 kbuf.buf_align = phdr->p_align; in riscv_kexec_elf_load() 60 kbuf.mem = phdr->p_paddr - old_pbase + new_pbase; in riscv_kexec_elf_load() 61 kbuf.memsz = phdr->p_memsz; in riscv_kexec_elf_load() [all …]
|
/openbmc/linux/arch/powerpc/platforms/powernv/ |
H A D | opal-core.c | 307 Elf64_Phdr *phdr; in create_opalcore() local 380 phdr = (Elf64_Phdr *)bufp; in create_opalcore() 382 phdr->p_type = cpu_to_be32(PT_NOTE); in create_opalcore() 383 phdr->p_flags = 0; in create_opalcore() 384 phdr->p_align = 0; in create_opalcore() 385 phdr->p_paddr = phdr->p_vaddr = 0; in create_opalcore() 386 phdr->p_offset = cpu_to_be64(hdr_size); in create_opalcore() 387 phdr->p_filesz = phdr->p_memsz = cpu_to_be64(cpu_notes_size); in create_opalcore() 394 phdr = (Elf64_Phdr *)bufp; in create_opalcore() 396 phdr->p_type = cpu_to_be32(PT_LOAD); in create_opalcore() [all …]
|
/openbmc/linux/tools/testing/selftests/sgx/ |
H A D | load.c | 235 Elf64_Phdr *phdr = &phdr_tbl[i]; in encl_load() local 237 if (phdr->p_type == PT_LOAD) in encl_load() 247 Elf64_Phdr *phdr = &phdr_tbl[i]; in encl_load() local 248 unsigned int flags = phdr->p_flags; in encl_load() 250 if (phdr->p_type != PT_LOAD) in encl_load() 258 phdr->p_flags); in encl_load() 265 phdr->p_flags); in encl_load() 270 src_offset = phdr->p_offset & PAGE_MASK; in encl_load() 276 seg->prot = (phdr->p_flags & PF_R) ? PROT_READ : 0; in encl_load() 277 seg->prot |= (phdr->p_flags & PF_W) ? PROT_WRITE : 0; in encl_load() [all …]
|
/openbmc/linux/net/dsa/ |
H A D | tag_qca.c | 18 __be16 *phdr; in qca_tag_xmit() local 24 phdr = dsa_etype_header_pos_tx(skb); in qca_tag_xmit() 31 *phdr = htons(hdr); in qca_tag_xmit() 42 __be16 *phdr; in qca_tag_rcv() local 53 phdr = dsa_etype_header_pos_rx(skb); in qca_tag_rcv() 54 hdr = ntohs(*phdr); in qca_tag_rcv()
|
/openbmc/linux/tools/testing/selftests/powerpc/ptrace/ |
H A D | core-pkey.c | 199 Elf64_Phdr *phdr; in check_core_file() local 216 phdr_size = sizeof(*phdr) * ehdr->e_phnum; in check_core_file() 223 for (phdr = p + ehdr->e_phoff; in check_core_file() 224 (void *) phdr < p + ehdr->e_phoff + phdr_size; in check_core_file() 225 phdr += ehdr->e_phentsize) in check_core_file() 226 if (phdr->p_type == PT_NOTE) in check_core_file() 229 FAIL_IF((void *) phdr >= p + ehdr->e_phoff + phdr_size); in check_core_file() 232 for (nhdr = p + phdr->p_offset; in check_core_file() 233 (void *) nhdr < p + phdr->p_offset + phdr->p_filesz; in check_core_file() 238 FAIL_IF((void *) nhdr >= p + phdr->p_offset + phdr->p_filesz); in check_core_file()
|