/kernel/linux/linux-5.10/tools/testing/selftests/vDSO/ |
H A D | parse_vdso.c | 39 static struct vdso_info struct 56 } vdso_info; variable 77 vdso_info.valid = false; in vdso_init_from_sysinfo_ehdr() 79 vdso_info.load_addr = base; in vdso_init_from_sysinfo_ehdr() 87 ELF(Phdr) *pt = (ELF(Phdr)*)(vdso_info.load_addr + hdr->e_phoff); in vdso_init_from_sysinfo_ehdr() 98 vdso_info.load_offset = base in vdso_init_from_sysinfo_ehdr() 113 vdso_info.symstrings = 0; in vdso_init_from_sysinfo_ehdr() 114 vdso_info.symtab = 0; in vdso_init_from_sysinfo_ehdr() 115 vdso_info.versym = 0; in vdso_init_from_sysinfo_ehdr() 116 vdso_info in vdso_init_from_sysinfo_ehdr() [all...] |
/kernel/linux/linux-6.6/tools/testing/selftests/vDSO/ |
H A D | parse_vdso.c | 39 static struct vdso_info struct 56 } vdso_info; variable 77 vdso_info.valid = false; in vdso_init_from_sysinfo_ehdr() 79 vdso_info.load_addr = base; in vdso_init_from_sysinfo_ehdr() 87 ELF(Phdr) *pt = (ELF(Phdr)*)(vdso_info.load_addr + hdr->e_phoff); in vdso_init_from_sysinfo_ehdr() 98 vdso_info.load_offset = base in vdso_init_from_sysinfo_ehdr() 113 vdso_info.symstrings = 0; in vdso_init_from_sysinfo_ehdr() 114 vdso_info.symtab = 0; in vdso_init_from_sysinfo_ehdr() 115 vdso_info.versym = 0; in vdso_init_from_sysinfo_ehdr() 116 vdso_info in vdso_init_from_sysinfo_ehdr() [all...] |
/kernel/linux/linux-5.10/tools/perf/util/ |
H A D | vdso.c | 39 struct vdso_info { struct 47 static struct vdso_info *vdso_info__new(void) in vdso_info__new() 49 static const struct vdso_info vdso_info_init = { in vdso_info__new() 110 struct vdso_info *vdso_info = machine->vdso_info; in machine__exit_vdso() local 112 if (!vdso_info) in machine__exit_vdso() 115 if (vdso_info->vdso.found) in machine__exit_vdso() 116 unlink(vdso_info->vdso.temp_file_name); in machine__exit_vdso() 118 if (vdso_info in machine__exit_vdso() 256 __machine__findnew_vdso_compat(struct machine *machine, struct thread *thread, struct vdso_info *vdso_info, struct dso **dso) __machine__findnew_vdso_compat() argument 323 struct vdso_info *vdso_info; machine__findnew_vdso() local [all...] |
H A D | machine.h | 28 struct vdso_info; 51 struct vdso_info *vdso_info; member
|
H A D | machine.c | 96 machine->vdso_info = NULL; in machine__init()
|
/kernel/linux/linux-6.6/tools/perf/util/ |
H A D | vdso.c | 39 struct vdso_info { struct 47 static struct vdso_info *vdso_info__new(void) in vdso_info__new() 49 static const struct vdso_info vdso_info_init = { in vdso_info__new() 110 struct vdso_info *vdso_info = machine->vdso_info; in machine__exit_vdso() local 112 if (!vdso_info) in machine__exit_vdso() 115 if (vdso_info->vdso.found) in machine__exit_vdso() 116 unlink(vdso_info->vdso.temp_file_name); in machine__exit_vdso() 118 if (vdso_info in machine__exit_vdso() 257 __machine__findnew_vdso_compat(struct machine *machine, struct thread *thread, struct vdso_info *vdso_info, struct dso **dso) __machine__findnew_vdso_compat() argument 324 struct vdso_info *vdso_info; machine__findnew_vdso() local [all...] |
H A D | machine.h | 29 struct vdso_info; 53 struct vdso_info *vdso_info; member
|
H A D | machine.c | 126 machine->vdso_info = NULL; in machine__init()
|
/kernel/linux/linux-6.6/arch/riscv/kernel/ |
H A D | vdso.c | 53 static struct __vdso_info vdso_info; variable 66 static void __init __vdso_init(struct __vdso_info *vdso_info) in __vdso_init() argument 72 if (memcmp(vdso_info->vdso_code_start, "\177ELF", 4)) in __vdso_init() 75 vdso_info->vdso_pages = ( in __vdso_init() 76 vdso_info->vdso_code_end - in __vdso_init() 77 vdso_info->vdso_code_start) >> in __vdso_init() 80 vdso_pagelist = kcalloc(vdso_info->vdso_pages, in __vdso_init() 87 pfn = sym_to_pfn(vdso_info->vdso_code_start); in __vdso_init() 89 for (i = 0; i < vdso_info->vdso_pages; i++) in __vdso_init() 92 vdso_info in __vdso_init() 215 __setup_additional_pages(struct mm_struct *mm, struct linux_binprm *bprm, int uses_interp, struct __vdso_info *vdso_info) __setup_additional_pages() argument [all...] |
/kernel/linux/linux-6.6/arch/arm64/kernel/ |
H A D | vdso.c | 54 static struct vdso_abi_info vdso_info[] __ro_after_init = { 92 if (memcmp(vdso_info[abi].vdso_code_start, "\177ELF", 4)) { in __vdso_init() 97 vdso_info[abi].vdso_pages = ( in __vdso_init() 98 vdso_info[abi].vdso_code_end - in __vdso_init() 99 vdso_info[abi].vdso_code_start) >> in __vdso_init() 102 vdso_pagelist = kcalloc(vdso_info[abi].vdso_pages, in __vdso_init() 109 pfn = sym_to_pfn(vdso_info[abi].vdso_code_start); in __vdso_init() 111 for (i = 0; i < vdso_info[abi].vdso_pages; i++) in __vdso_init() 114 vdso_info[abi].cm->pages = vdso_pagelist; in __vdso_init() 141 if (vma_is_special_mapping(vma, vdso_info[VDSO_ABI_AA6 in vdso_join_timens() [all...] |
/kernel/linux/linux-5.10/arch/arm64/kernel/ |
H A D | vdso.c | 57 static struct vdso_abi_info vdso_info[] __ro_after_init = { 86 unsigned long vdso_size = vdso_info[abi].vdso_code_end - in __vdso_remap() 87 vdso_info[abi].vdso_code_start; in __vdso_remap() 103 if (memcmp(vdso_info[abi].vdso_code_start, "\177ELF", 4)) { in __vdso_init() 108 vdso_info[abi].vdso_pages = ( in __vdso_init() 109 vdso_info[abi].vdso_code_end - in __vdso_init() 110 vdso_info[abi].vdso_code_start) >> in __vdso_init() 113 vdso_pagelist = kcalloc(vdso_info[abi].vdso_pages, in __vdso_init() 120 pfn = sym_to_pfn(vdso_info[abi].vdso_code_start); in __vdso_init() 122 for (i = 0; i < vdso_info[ab in __vdso_init() [all...] |
/kernel/linux/linux-6.6/arch/loongarch/kernel/ |
H A D | vdso.c | 87 struct loongarch_vdso_info vdso_info = { variable 106 BUG_ON(!PAGE_ALIGNED(vdso_info.vdso)); in init_vdso() 107 BUG_ON(!PAGE_ALIGNED(vdso_info.size)); in init_vdso() 112 pfn = __phys_to_pfn(__pa_symbol(vdso_info.vdso)); in init_vdso() 113 for (i = 0; i < vdso_info.size / PAGE_SIZE; i++) in init_vdso() 114 vdso_info.code_mapping.pages[i] = pfn_to_page(pfn + i); in init_vdso() 142 if (vma_is_special_mapping(vma, &vdso_info.data_mapping)) in vdso_join_timens()
|
/kernel/linux/linux-5.10/arch/loongarch/kernel/ |
H A D | vdso.c | 89 struct loongarch_vdso_info vdso_info = { variable 108 BUG_ON(!PAGE_ALIGNED(vdso_info.vdso)); in init_vdso() 109 BUG_ON(!PAGE_ALIGNED(vdso_info.size)); in init_vdso() 114 pfn = __phys_to_pfn(__pa_symbol(vdso_info.vdso)); in init_vdso() 115 for (i = 0; i < vdso_info.size / PAGE_SIZE; i++) in init_vdso() 116 vdso_info.code_mapping.pages[i] = pfn_to_page(pfn + i); in init_vdso() 144 if (vma_is_special_mapping(vma, &vdso_info.data_mapping)) in vdso_join_timens()
|
/kernel/linux/linux-5.10/arch/loongarch/include/asm/ |
H A D | vdso.h | 42 extern struct loongarch_vdso_info vdso_info;
|
H A D | elf.h | 247 current->thread.vdso = &vdso_info; \ 264 current->thread.vdso = &vdso_info; \
|
/kernel/linux/linux-6.6/arch/loongarch/include/asm/ |
H A D | vdso.h | 37 extern struct loongarch_vdso_info vdso_info;
|
H A D | elf.h | 242 current->thread.vdso = &vdso_info; \ 259 current->thread.vdso = &vdso_info; \
|