| /kernel/linux/linux-5.10/Documentation/livepatch/ |
| D | module-elf-format.rst | 12 3. Livepatch relocation sections 13 3.1 Livepatch relocation section format 27 loader to perform the all the arch-specific relocation work. Specifically, 36 table, symbol table, and relocation section indices, Elf information is 38 relocation sections and symbols, which are described in this document. The 39 Elf constants used to mark livepatch symbols and relocation sections were 57 relocation sections in place of dynrela sections, and the symbols that the 59 arch-specific livepatch relocation code is replaced by a call to 86 3. Livepatch relocation sections 89 A livepatch module manages its own Elf relocation sections to apply [all …]
|
| /kernel/linux/linux-5.10/arch/sh/kernel/ |
| D | module.c | 33 Elf32_Addr relocation; in apply_relocate_add() local 47 relocation = sym->st_value + rel[i].r_addend; in apply_relocate_add() 54 value += relocation; in apply_relocate_add() 58 relocation = (relocation - (Elf32_Addr) location); in apply_relocate_add() 60 value += relocation; in apply_relocate_add() 65 ((relocation & 0xffff) << 10); in apply_relocate_add() 69 (((relocation >> 16) & 0xffff) << 10); in apply_relocate_add() 72 relocation -= (Elf32_Addr) location; in apply_relocate_add() 74 ((relocation & 0xffff) << 10); in apply_relocate_add() 77 relocation -= (Elf32_Addr) location; in apply_relocate_add() [all …]
|
| /kernel/linux/linux-4.19/arch/sh/kernel/ |
| D | module.c | 46 Elf32_Addr relocation; in apply_relocate_add() local 60 relocation = sym->st_value + rel[i].r_addend; in apply_relocate_add() 68 relocation |= !!(sym->st_other & 4); in apply_relocate_add() 76 value += relocation; in apply_relocate_add() 80 relocation = (relocation - (Elf32_Addr) location); in apply_relocate_add() 82 value += relocation; in apply_relocate_add() 87 ((relocation & 0xffff) << 10); in apply_relocate_add() 91 (((relocation >> 16) & 0xffff) << 10); in apply_relocate_add() 94 relocation -= (Elf32_Addr) location; in apply_relocate_add() 96 ((relocation & 0xffff) << 10); in apply_relocate_add() [all …]
|
| /kernel/linux/linux-4.19/Documentation/livepatch/ |
| D | module-elf-format.txt | 12 2. Livepatch relocation sections 13 2.1 What are livepatch relocation sections? 14 2.2 Livepatch relocation section format 17 2.2.3 Example livepatch relocation section names 40 loader to perform the all the arch-specific relocation work. Specifically, 49 table, symbol table, and relocation section indices, Elf information is 51 relocation sections and symbols, which are described in this document. The 52 Elf constants used to mark livepatch symbols and relocation sections were 70 relocation sections in place of dynrela sections, and the symbols that the 72 arch-specific livepatch relocation code is replaced by a call to [all …]
|
| /kernel/linux/linux-5.10/arch/mips/include/asm/ |
| D | module.h | 20 Elf64_Addr r_offset; /* Address of relocation. */ 23 Elf64_Byte r_type3; /* Third relocation. */ 24 Elf64_Byte r_type2; /* Second relocation. */ 25 Elf64_Byte r_type; /* First relocation. */ 29 Elf64_Addr r_offset; /* Address of relocation. */ 32 Elf64_Byte r_type3; /* Third relocation. */ 33 Elf64_Byte r_type2; /* Second relocation. */ 34 Elf64_Byte r_type; /* First relocation. */
|
| /kernel/linux/linux-5.10/arch/arc/kernel/ |
| D | module.c | 23 * This gets called before relocation loop in generic loader 54 Elf32_Addr relocation, location, tgt_addr; in apply_relocate_add() local 72 /* Loop thru entries in relocation section */ in apply_relocate_add() 83 relocation = sym_entry->st_value + rel_entry[i].r_addend; in apply_relocate_add() 93 sym_entry->st_value, location, relocation, s); in apply_relocate_add() 98 * Both of these are handled by same relocation type in apply_relocate_add() 103 arc_write_me((unsigned short *)location, relocation); in apply_relocate_add() 105 *((Elf32_Addr *) location) = relocation; in apply_relocate_add() 107 *((Elf32_Addr *) location) = relocation - location; in apply_relocate_add() 121 pr_err("%s: unknown relocation: %u\n", in apply_relocate_add()
|
| /kernel/linux/linux-4.19/arch/mips/include/asm/ |
| D | module.h | 20 Elf64_Addr r_offset; /* Address of relocation. */ 23 Elf64_Byte r_type3; /* Third relocation. */ 24 Elf64_Byte r_type2; /* Second relocation. */ 25 Elf64_Byte r_type; /* First relocation. */ 29 Elf64_Addr r_offset; /* Address of relocation. */ 32 Elf64_Byte r_type3; /* Third relocation. */ 33 Elf64_Byte r_type2; /* Second relocation. */ 34 Elf64_Byte r_type; /* First relocation. */
|
| /kernel/linux/linux-4.19/arch/arc/kernel/ |
| D | module.c | 26 * This gets called before relocation loop in generic loader 57 Elf32_Addr relocation, location, tgt_addr; in apply_relocate_add() local 75 /* Loop thru entries in relocation section */ in apply_relocate_add() 86 relocation = sym_entry->st_value + rel_entry[i].r_addend; in apply_relocate_add() 96 sym_entry->st_value, location, relocation, s); in apply_relocate_add() 101 * Both of these are handled by same relocation type in apply_relocate_add() 106 arc_write_me((unsigned short *)location, relocation); in apply_relocate_add() 108 *((Elf32_Addr *) location) = relocation; in apply_relocate_add() 110 *((Elf32_Addr *) location) = relocation - location; in apply_relocate_add() 124 pr_err("%s: unknown relocation: %u\n", in apply_relocate_add()
|
| /kernel/linux/linux-4.19/arch/mips/kernel/ |
| D | relocate.c | 6 * Support for Kernel relocation at boot time 28 extern u32 _relocation_start[]; /* End kernel image / start relocation table */ 29 extern u32 _relocation_end[]; /* End relocation table */ 37 * This function may be defined for a platform to perform any post-relocation 39 * Return non-zero to abort relocation 92 pr_err("Dangerous R_MIPS_26 REL relocation\n"); in apply_r_mips_26_rel() 104 pr_err("R_MIPS_26 REL relocation overflow\n"); in apply_r_mips_26_rel() 144 /* Sentinel for last relocation */ in do_relocations() 153 /* Unsupported relocation */ in do_relocations() 154 pr_err("Unhandled relocation type %d at 0x%pK\n", in do_relocations() [all …]
|
| D | module.c | 74 pr_err("module %s: dangerous R_MIPS_26 relocation\n", in apply_r_mips_26() 80 pr_err("module %s: relocation overflow\n", in apply_r_mips_26() 105 * actual relocation. in apply_r_mips_hi16() 158 * Do the HI16 relocation. Note that we actually don't in apply_r_mips_lo16() 197 pr_err("module %s: dangerous R_MIPS_LO16 relocation\n", me->name); in apply_r_mips_lo16() 210 pr_err("module %s: dangerous R_MIPS_PC%u relocation\n", in apply_r_mips_pc() 224 pr_err("module %s: relocation overflow\n", me->name); in apply_r_mips_pc() 287 * reloc_handler() - Apply a particular relocation to a module 294 * relocation to the module @me. Relocs that may be found in either REL or RELA 365 pr_err("%s: Unknown relocation type %u\n", in __apply_relocate() [all …]
|
| /kernel/linux/linux-5.10/scripts/ |
| D | check_extable.sh | 26 # __ex_table relocation to your new section is expected), simply add your 44 # When the relocation points to the begining of a symbol or section, it 53 # The target of the .altinstr_replacement is the relocation just before 79 # We've got a relocation to a non white listed _executable_ 82 # and line number where that relocation was added. 86 # Something is definitively wrong here since we've got a relocation 110 # Let's find out where the target of the relocation in __ex_table 114 # When there's a global symbol at the place of the relocation, 127 # Will either print a warning if the relocation happens to be in a
|
| /kernel/linux/linux-4.19/scripts/ |
| D | check_extable.sh | 26 # __ex_table relocation to your new section is expected), simply add your 44 # When the relocation points to the begining of a symbol or section, it 53 # The target of the .altinstr_replacement is the relocation just before 79 # We've got a relocation to a non white listed _executable_ 82 # and line number where that relocation was added. 86 # Something is definitively wrong here since we've got a relocation 110 # Let's find out where the target of the relocation in __ex_table 114 # When there's a global symbol at the place of the relocation, 127 # Will either print a warning if the relocation happens to be in a
|
| /kernel/linux/linux-5.10/arch/mips/kernel/ |
| D | relocate.c | 6 * Support for Kernel relocation at boot time 28 extern u32 _relocation_start[]; /* End kernel image / start relocation table */ 29 extern u32 _relocation_end[]; /* End relocation table */ 37 * This function may be defined for a platform to perform any post-relocation 39 * Return non-zero to abort relocation 92 pr_err("Dangerous R_MIPS_26 REL relocation\n"); in apply_r_mips_26_rel() 104 pr_err("R_MIPS_26 REL relocation overflow\n"); in apply_r_mips_26_rel() 144 /* Sentinel for last relocation */ in do_relocations() 153 /* Unsupported relocation */ in do_relocations() 154 pr_err("Unhandled relocation type %d at 0x%pK\n", in do_relocations() [all …]
|
| D | module.c | 61 pr_err("module %s: dangerous R_MIPS_26 relocation\n", in apply_r_mips_26() 67 pr_err("module %s: relocation overflow\n", in apply_r_mips_26() 92 * actual relocation. in apply_r_mips_hi16() 145 * Do the HI16 relocation. Note that we actually don't in apply_r_mips_lo16() 184 pr_err("module %s: dangerous R_MIPS_LO16 relocation\n", me->name); in apply_r_mips_lo16() 197 pr_err("module %s: dangerous R_MIPS_PC%u relocation\n", in apply_r_mips_pc() 211 pr_err("module %s: relocation overflow\n", me->name); in apply_r_mips_pc() 274 * reloc_handler() - Apply a particular relocation to a module 281 * relocation to the module @me. Relocs that may be found in either REL or RELA 352 pr_err("%s: Unknown relocation type %u\n", in __apply_relocate() [all …]
|
| /kernel/linux/linux-4.19/arch/arm/mach-hisi/ |
| D | platmcpm.c | 69 * [2]: relocation address 70 * [3]: relocation size 272 void __iomem *relocation; in hip04_smp_init() local 295 relocation = ioremap(hip04_boot_method[2], hip04_boot_method[3]); in hip04_smp_init() 296 if (!relocation) { in hip04_smp_init() 297 pr_err("failed to map relocation space\n"); in hip04_smp_init() 330 writel_relaxed(hip04_boot_method[0], relocation); in hip04_smp_init() 331 writel_relaxed(0xa5a5a5a5, relocation + 4); /* magic number */ in hip04_smp_init() 332 writel_relaxed(__pa_symbol(secondary_startup), relocation + 8); in hip04_smp_init() 333 writel_relaxed(0, relocation + 12); in hip04_smp_init() [all …]
|
| /kernel/linux/linux-5.10/arch/arm/mach-hisi/ |
| D | platmcpm.c | 66 * [2]: relocation address 67 * [3]: relocation size 269 void __iomem *relocation; in hip04_smp_init() local 292 relocation = ioremap(hip04_boot_method[2], hip04_boot_method[3]); in hip04_smp_init() 293 if (!relocation) { in hip04_smp_init() 294 pr_err("failed to map relocation space\n"); in hip04_smp_init() 327 writel_relaxed(hip04_boot_method[0], relocation); in hip04_smp_init() 328 writel_relaxed(0xa5a5a5a5, relocation + 4); /* magic number */ in hip04_smp_init() 329 writel_relaxed(__pa_symbol(secondary_startup), relocation + 8); in hip04_smp_init() 330 writel_relaxed(0, relocation + 12); in hip04_smp_init() [all …]
|
| /kernel/linux/linux-4.19/arch/x86/boot/compressed/ |
| D | misc.c | 6 * which includes KASLR relocation, decompression, ELF parsing, and 7 * relocation processing. Additionally included are the screen and serial 25 * run time, but no relocation processing is performed. This means that 190 * The kernel contains a table of relocation addresses. Those in handle_relocations() 207 debug_putstr("No relocation needed... "); in handle_relocations() 215 * before compression. Each relocation table entry is the kernel in handle_relocations() 223 * 64 bit relocation repeated in handle_relocations() 225 * 32 bit inverse relocation repeated in handle_relocations() 227 * 32 bit relocation repeated in handle_relocations() 237 error("32-bit relocation outside of kernel!\n"); in handle_relocations() [all …]
|
| /kernel/linux/linux-5.10/arch/x86/boot/compressed/ |
| D | misc.c | 6 * which includes KASLR relocation, decompression, ELF parsing, and 7 * relocation processing. Additionally included are the screen and serial 25 * run time, but no relocation processing is performed. This means that 191 * The kernel contains a table of relocation addresses. Those in handle_relocations() 208 debug_putstr("No relocation needed... "); in handle_relocations() 216 * before compression. Each relocation table entry is the kernel in handle_relocations() 224 * 64 bit relocation repeated in handle_relocations() 226 * 32 bit inverse relocation repeated in handle_relocations() 228 * 32 bit relocation repeated in handle_relocations() 238 error("32-bit relocation outside of kernel!\n"); in handle_relocations() [all …]
|
| /kernel/linux/linux-5.10/arch/mips/boot/tools/ |
| D | relocs_64.c | 17 Elf64_Byte r_type3; /* Third relocation. */ 18 Elf64_Byte r_type2; /* Second relocation. */ 19 Elf64_Byte r_type; /* First relocation. */
|
| /kernel/linux/linux-4.19/arch/mips/boot/tools/ |
| D | relocs_64.c | 17 Elf64_Byte r_type3; /* Third relocation. */ 18 Elf64_Byte r_type2; /* Second relocation. */ 19 Elf64_Byte r_type; /* First relocation. */
|
| /kernel/linux/linux-4.19/include/linux/ |
| D | moduleloader.h | 33 * Apply the given relocation to the (simplified) ELF. Return -error 49 printk(KERN_ERR "module %s: REL relocation unsupported\n", in apply_relocate() 56 * Apply the given add relocation to the (simplified) ELF. Return 72 printk(KERN_ERR "module %s: REL relocation unsupported\n", in apply_relocate_add()
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/remoteproc/ |
| D | qcom,pil-info.yaml | 7 title: Qualcomm peripheral image loader relocation info binding 13 The Qualcomm peripheral image loader relocation memory region, in IMEM, is 14 used for communicating remoteproc relocation information to post mortem
|
| /kernel/linux/linux-5.10/include/linux/ |
| D | moduleloader.h | 43 * Apply the given relocation to the (simplified) ELF. Return -error 59 printk(KERN_ERR "module %s: REL relocation unsupported\n", in apply_relocate() 66 * Apply the given add relocation to the (simplified) ELF. Return 82 printk(KERN_ERR "module %s: REL relocation unsupported\n", in apply_relocate_add()
|
| /kernel/linux/linux-5.10/tools/perf/tests/ |
| D | bpf-script-test-relocation.c | 3 * bpf-script-test-relocation.c 4 * Test BPF loader checking relocation 44 * Incorrect relocation. Should not allow this program be in bpf_func__sys_write()
|
| /kernel/linux/linux-4.19/tools/perf/tests/ |
| D | bpf-script-test-relocation.c | 2 * bpf-script-test-relocation.c 3 * Test BPF loader checking relocation 43 * Incorrect relocation. Should not allow this program be in bpf_func__sys_write()
|