Lines Matching +full:patch +full:- +full:address
16 Formerly, livepatch required separate architecture-specific code to write
17 relocations. However, arch-specific code to write relocations already
19 code. So, instead of duplicating code and re-implementing what the module
21 loader to perform the all the arch-specific relocation work. Specifically,
23 write relocations. The patch module ELF format described in this document
26 of arch-specific code required to port livepatch to a particular
34 selected from OS-specific ranges according to the definitions from glibc.
37 -----------------------------------------------------
39 reference non-exported global symbols and non-included local symbols.
40 Relocations referencing these types of symbols cannot be left in as-is
43 affect modules not yet loaded at patch module load time (e.g. a patch to a
45 embedding special "dynrela" (dynamic rela) sections in the resulting patch
49 approach required livepatch to supply arch-specific code in order to write
53 arch-specific livepatch relocation code is replaced by a call to
67 --------
73 % modinfo livepatch-meminfo.ko
74 filename: livepatch-meminfo.ko
85 appropriate time. For example, if a patch module patches a driver that is
89 Each "object" (e.g. vmlinux, or a module) within a patch module may have
91 multiple functions within the same object). There is a 1-1 correspondence
113 at patch module load time. These sections must also be marked with SHF_ALLOC,
136 ---------
145 **`readelf --sections` output for a patch
151 …[Nr] Name Type Address Off Size ES Flg L…
168 SHF_RELA_LIVEPATCH flag ("o" - for OS-specific).
170 **`readelf --relocs` output for a patch module:**
176 …0000000001f 0000005e00000002 R_X86_64_PC32 0000000000000000 .klp.sym.vmlinux.printk,0 - 4
178 …003b00000002 R_X86_64_PC32 0000000000000000 .klp.sym.btrfs.can_modify_feature.isra.3,0 - 4
179 …00000004c 0000004900000002 R_X86_64_PC32 0000000000000000 .klp.sym.vmlinux.snprintf,0 - 4
196 also in cases where we cannot immediately know the address of a symbol when
197 a patch module loads. For example, this is the case when livepatch patches
207 module->symtab.
212 "core" symbols) is made available through module->symtab (See layout_symtab()
215 when the patch module was compiled. This is because the relocations in each
224 …0000000001f 0000005e00000002 R_X86_64_PC32 0000000000000000 .klp.sym.vmlinux.printk,0 - 4
229 And in this patch module's corresponding symbol table, symbol index 94 refers to that very symbol:
265 ---------
275 **`readelf --symbols` output for a patch module:**
292 "OS" means OS-specific.
296 A livepatch module's symbol table is accessible through module->symtab.
301 module->klp_info, which is a :c:type:`klp_modinfo` struct. When a livepatch module