Lines Matching full:me

57 static void check_rela(Elf_Rela *rela, struct module *me)  in check_rela()  argument
61 info = me->arch.syminfo + ELF_R_SYM (rela->r_info); in check_rela()
76 info->got_offset = me->arch.got_size; in check_rela()
77 me->arch.got_size += sizeof(void*); in check_rela()
88 info->plt_offset = me->arch.plt_size; in check_rela()
89 me->arch.plt_size += PLT_ENTRY_SIZE; in check_rela()
107 char *secstrings, struct module *me) in module_frob_arch_sections() argument
125 printk(KERN_ERR "module %s: no symbol table\n", me->name); in module_frob_arch_sections()
130 me->arch.nsyms = symtab->sh_size / sizeof(Elf_Sym); in module_frob_arch_sections()
131 me->arch.syminfo = vmalloc(array_size(sizeof(struct mod_arch_syminfo), in module_frob_arch_sections()
132 me->arch.nsyms)); in module_frob_arch_sections()
133 if (!me->arch.syminfo) in module_frob_arch_sections()
137 for (i = 0; i < me->arch.nsyms; i++) { in module_frob_arch_sections()
143 me->arch.syminfo[i].got_offset = -1UL; in module_frob_arch_sections()
144 me->arch.syminfo[i].plt_offset = -1UL; in module_frob_arch_sections()
145 me->arch.syminfo[i].got_initialized = 0; in module_frob_arch_sections()
146 me->arch.syminfo[i].plt_initialized = 0; in module_frob_arch_sections()
150 me->arch.got_size = me->arch.plt_size = 0; in module_frob_arch_sections()
157 check_rela(rela + j, me); in module_frob_arch_sections()
162 mod_mem = &me->mem[MOD_TEXT]; in module_frob_arch_sections()
164 me->arch.got_offset = mod_mem->size; in module_frob_arch_sections()
165 mod_mem->size += me->arch.got_size; in module_frob_arch_sections()
166 me->arch.plt_offset = mod_mem->size; in module_frob_arch_sections()
167 if (me->arch.plt_size) { in module_frob_arch_sections()
169 me->arch.plt_size += PLT_ENTRY_SIZE; in module_frob_arch_sections()
170 mod_mem->size += me->arch.plt_size; in module_frob_arch_sections()
223 const char *strtab, struct module *me, in apply_rela() argument
237 info = me->arch.syminfo + r_sym; in apply_rela()
294 Elf_Addr *gotent = me->mem[MOD_TEXT].base + in apply_rela()
295 me->arch.got_offset + in apply_rela()
319 val += (Elf_Addr)me->mem[MOD_TEXT].base + in apply_rela()
320 me->arch.got_offset - loc; in apply_rela()
336 plt_base = me->mem[MOD_TEXT].base + me->arch.plt_offset; in apply_rela()
343 jump_r1 = plt_base + me->arch.plt_size - in apply_rela()
359 val = me->arch.plt_offset - me->arch.got_offset + in apply_rela()
366 val = (Elf_Addr) me->mem[MOD_TEXT].base + in apply_rela()
367 me->arch.plt_offset + in apply_rela()
388 ((Elf_Addr) me->mem[MOD_TEXT].base + me->arch.got_offset); in apply_rela()
398 val = (Elf_Addr) me->mem[MOD_TEXT].base + me->arch.got_offset + in apply_rela()
414 me->name, r_type); in apply_rela()
420 me->name, strtab + symtab[r_sym].st_name, in apply_rela()
429 struct module *me, in __apply_relocate_add() argument
446 rc = apply_rela(rela, base, symtab, strtab, me, write); in __apply_relocate_add()
455 struct module *me) in apply_relocate_add() argument
457 bool early = me->state == MODULE_STATE_UNFORMED; in apply_relocate_add()
463 return __apply_relocate_add(sechdrs, strtab, symindex, relsec, me, in apply_relocate_add()
468 static int module_alloc_ftrace_hotpatch_trampolines(struct module *me, in module_alloc_ftrace_hotpatch_trampolines() argument
483 me->arch.trampolines_start = (struct ftrace_hotpatch_trampoline *)start; in module_alloc_ftrace_hotpatch_trampolines()
484 me->arch.trampolines_end = (struct ftrace_hotpatch_trampoline *)end; in module_alloc_ftrace_hotpatch_trampolines()
485 me->arch.next_trampoline = me->arch.trampolines_start; in module_alloc_ftrace_hotpatch_trampolines()
493 struct module *me) in module_finalize() argument
503 !nospec_disable && me->arch.plt_size) { in module_finalize()
506 ij = me->mem[MOD_TEXT].base + me->arch.plt_offset + in module_finalize()
507 me->arch.plt_size - PLT_ENTRY_SIZE; in module_finalize()
532 ret = module_alloc_ftrace_hotpatch_trampolines(me, s); in module_finalize()