mirror of
https://github.com/torvalds/linux.git
synced 2026-03-08 01:04:41 +01:00
livepatch: Free klp_{object,func}_ext data after initialization
The klp_object_ext and klp_func_ext data, which are stored in the __klp_objects and __klp_funcs sections, respectively, are not needed after they are used to create the actual klp_object and klp_func instances. This operation is implemented by the init function in scripts/livepatch/init.c. Prefix the two sections with ".init" so they are freed after the module is initializated. Signed-off-by: Petr Pavlu <petr.pavlu@suse.com> Acked-by: Joe Lawrence <joe.lawrence@redhat.com> Acked-by: Miroslav Benes <mbenes@suse.cz> Reviewed-by: Aaron Tomlin <atomlin@atomlin.com> Link: https://patch.msgid.link/20260123102825.3521961-3-petr.pavlu@suse.com Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org>
This commit is contained in:
parent
ab10815472
commit
b525fcaf0a
5 changed files with 10 additions and 10 deletions
|
|
@ -19,7 +19,7 @@ static int __init livepatch_mod_init(void)
|
|||
unsigned int nr_objs;
|
||||
int ret;
|
||||
|
||||
obj_exts = klp_find_section_by_name(THIS_MODULE, "__klp_objects",
|
||||
obj_exts = klp_find_section_by_name(THIS_MODULE, ".init.klp_objects",
|
||||
&obj_exts_sec_size);
|
||||
nr_objs = obj_exts_sec_size / sizeof(*obj_exts);
|
||||
if (!nr_objs) {
|
||||
|
|
|
|||
|
|
@ -34,8 +34,8 @@ SECTIONS {
|
|||
|
||||
__patchable_function_entries : { *(__patchable_function_entries) }
|
||||
|
||||
__klp_funcs 0: ALIGN(8) { KEEP(*(__klp_funcs)) }
|
||||
__klp_objects 0: ALIGN(8) { KEEP(*(__klp_objects)) }
|
||||
.init.klp_funcs 0 : ALIGN(8) { KEEP(*(.init.klp_funcs)) }
|
||||
.init.klp_objects 0 : ALIGN(8) { KEEP(*(.init.klp_objects)) }
|
||||
|
||||
#ifdef CONFIG_ARCH_USES_CFI_TRAPS
|
||||
__kcfi_traps : { KEEP(*(.kcfi_traps)) }
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue