Lines Matching refs:me
93 static void check_rela(Elf_Rela *rela, struct module *me) in check_rela() argument
97 info = me->arch.syminfo + ELF_R_SYM (rela->r_info); in check_rela()
112 info->got_offset = me->arch.got_size; in check_rela()
113 me->arch.got_size += sizeof(void*); in check_rela()
124 info->plt_offset = me->arch.plt_size; in check_rela()
125 me->arch.plt_size += PLT_ENTRY_SIZE; in check_rela()
143 char *secstrings, struct module *me) in module_frob_arch_sections() argument
161 printk(KERN_ERR "module %s: no symbol table\n", me->name); in module_frob_arch_sections()
166 me->arch.nsyms = symtab->sh_size / sizeof(Elf_Sym); in module_frob_arch_sections()
167 me->arch.syminfo = vmalloc(array_size(sizeof(struct mod_arch_syminfo), in module_frob_arch_sections()
168 me->arch.nsyms)); in module_frob_arch_sections()
169 if (!me->arch.syminfo) in module_frob_arch_sections()
173 for (i = 0; i < me->arch.nsyms; i++) { in module_frob_arch_sections()
179 me->arch.syminfo[i].got_offset = -1UL; in module_frob_arch_sections()
180 me->arch.syminfo[i].plt_offset = -1UL; in module_frob_arch_sections()
181 me->arch.syminfo[i].got_initialized = 0; in module_frob_arch_sections()
182 me->arch.syminfo[i].plt_initialized = 0; in module_frob_arch_sections()
186 me->arch.got_size = me->arch.plt_size = 0; in module_frob_arch_sections()
193 check_rela(rela + j, me); in module_frob_arch_sections()
198 mod_mem = &me->mem[MOD_TEXT]; in module_frob_arch_sections()
200 me->arch.got_offset = mod_mem->size; in module_frob_arch_sections()
201 mod_mem->size += me->arch.got_size; in module_frob_arch_sections()
202 me->arch.plt_offset = mod_mem->size; in module_frob_arch_sections()
203 if (me->arch.plt_size) { in module_frob_arch_sections()
205 me->arch.plt_size += PLT_ENTRY_SIZE; in module_frob_arch_sections()
206 mod_mem->size += me->arch.plt_size; in module_frob_arch_sections()
259 const char *strtab, struct module *me, in apply_rela() argument
273 info = me->arch.syminfo + r_sym; in apply_rela()
330 Elf_Addr *gotent = me->mem[MOD_TEXT].base + in apply_rela()
331 me->arch.got_offset + in apply_rela()
355 val += (Elf_Addr)me->mem[MOD_TEXT].base + in apply_rela()
356 me->arch.got_offset - loc; in apply_rela()
372 plt_base = me->mem[MOD_TEXT].base + me->arch.plt_offset; in apply_rela()
379 jump_r1 = plt_base + me->arch.plt_size - in apply_rela()
395 val = me->arch.plt_offset - me->arch.got_offset + in apply_rela()
402 val = (Elf_Addr) me->mem[MOD_TEXT].base + in apply_rela()
403 me->arch.plt_offset + in apply_rela()
424 ((Elf_Addr) me->mem[MOD_TEXT].base + me->arch.got_offset); in apply_rela()
434 val = (Elf_Addr) me->mem[MOD_TEXT].base + me->arch.got_offset + in apply_rela()
450 me->name, r_type); in apply_rela()
456 me->name, strtab + symtab[r_sym].st_name, in apply_rela()
465 struct module *me, in __apply_relocate_add() argument
482 rc = apply_rela(rela, base, symtab, strtab, me, write); in __apply_relocate_add()
491 struct module *me) in apply_relocate_add() argument
493 bool early = me->state == MODULE_STATE_UNFORMED; in apply_relocate_add()
499 return __apply_relocate_add(sechdrs, strtab, symindex, relsec, me, in apply_relocate_add()
504 static int module_alloc_ftrace_hotpatch_trampolines(struct module *me, in module_alloc_ftrace_hotpatch_trampolines() argument
519 me->arch.trampolines_start = (struct ftrace_hotpatch_trampoline *)start; in module_alloc_ftrace_hotpatch_trampolines()
520 me->arch.trampolines_end = (struct ftrace_hotpatch_trampoline *)end; in module_alloc_ftrace_hotpatch_trampolines()
521 me->arch.next_trampoline = me->arch.trampolines_start; in module_alloc_ftrace_hotpatch_trampolines()
529 struct module *me) in module_finalize() argument
539 !nospec_disable && me->arch.plt_size) { in module_finalize()
542 ij = me->mem[MOD_TEXT].base + me->arch.plt_offset + in module_finalize()
543 me->arch.plt_size - PLT_ENTRY_SIZE; in module_finalize()
568 ret = module_alloc_ftrace_hotpatch_trampolines(me, s); in module_finalize()