Lines Matching +full:os +full:- +full:code +full:- +full:offset
22 Formerly, livepatch required separate architecture-specific code to write
23 relocations. However, arch-specific code to write relocations already
25 code. So, instead of duplicating code and re-implementing what the module
26 loader can already do, livepatch leverages existing code in the module
27 loader to perform the all the arch-specific relocation work. Specifically,
32 of arch-specific code required to port livepatch to a particular
40 selected from OS-specific ranges according to the definitions from glibc.
43 -----------------------------------------------------
45 reference non-exported global symbols and non-included local symbols.
46 Relocations referencing these types of symbols cannot be left in as-is
55 approach required livepatch to supply arch-specific code in order to write
59 arch-specific livepatch relocation code is replaced by a call to
73 --------
79 % modinfo livepatch-meminfo.ko
80 filename: livepatch-meminfo.ko
97 multiple functions within the same object). There is a 1-1 correspondence
142 ---------
151 **`readelf --sections` output for a patch
174 SHF_RELA_LIVEPATCH flag ("o" - for OS-specific).
176 **`readelf --relocs` output for a patch module:**
180 …Relocation section '.klp.rela.btrfs.text.btrfs_feature_attr_show' at offset 0x2ba0 contains 4 entr…
181 Offset Info Type Symbol's Value Symbol's Name + Addend
182 …0000000001f 0000005e00000002 R_X86_64_PC32 0000000000000000 .klp.sym.vmlinux.printk,0 - 4
184 …003b00000002 R_X86_64_PC32 0000000000000000 .klp.sym.btrfs.can_modify_feature.isra.3,0 - 4
185 …00000004c 0000004900000002 R_X86_64_PC32 0000000000000000 .klp.sym.vmlinux.snprintf,0 - 4
213 module->symtab.
218 "core" symbols) is made available through module->symtab (See layout_symtab()
228 …Relocation section '.klp.rela.btrfs.text.btrfs_feature_attr_show' at offset 0x2ba0 contains 4 entr…
229 Offset Info Type Symbol's Value Symbol's Name + Addend
230 …0000000001f 0000005e00000002 R_X86_64_PC32 0000000000000000 .klp.sym.vmlinux.printk,0 - 4
237 94: 0000000000000000 0 NOTYPE GLOBAL DEFAULT OS [0xff20] .klp.sym.vmlinux.printk,0
271 ---------
281 **`readelf --symbols` output for a patch module:**
288 73: 0000000000000000 0 NOTYPE GLOBAL DEFAULT OS [0xff20] .klp.sym.vmlinux.snprintf,0
289 74: 0000000000000000 0 NOTYPE GLOBAL DEFAULT OS [0xff20] .klp.sym.vmlinux.capable,0
290 75: 0000000000000000 0 NOTYPE GLOBAL DEFAULT OS [0xff20] .klp.sym.vmlinux.find_next_bit,0
291 76: 0000000000000000 0 NOTYPE GLOBAL DEFAULT OS [0xff20] .klp.sym.vmlinux.si_swapinfo,0
298 "OS" means OS-specific.
302 A livepatch module's symbol table is accessible through module->symtab.
307 module->klp_info, which is a klp_modinfo struct. When a livepatch module loads,