Re: [PATCH v2] arm64/module: use mod->klp_info section header information for livepatch modules

From: Miroslav Benes
Date: Mon Oct 29 2018 - 09:24:23 EST



> diff --git a/arch/arm64/kernel/module.c b/arch/arm64/kernel/module.c
> index dd23655fda3a..490e56070a7e 100644
> --- a/arch/arm64/kernel/module.c
> +++ b/arch/arm64/kernel/module.c
> @@ -461,5 +461,15 @@ int module_finalize(const Elf_Ehdr *hdr,
> #endif
> }
>
> +#ifdef CONFIG_LIVEPATCH
> + /*
> + * For livepatching, switch to the saved section header info for .plt
> + * stored in mod->klp_info. This is needed so that livepatch is able to
> + * call apply_relocate_add() after patch module load.
> + */
> + if (is_livepatch_module(me))
> + me->arch.core.plt = me->klp_info->sechdrs + me->arch.core.plt_shndx;
> +#endif

I missed it before, but the hunk should be under "#ifdef
CONFIG_ARM64_MODULE_PLTS" protection similarly to ftrace_trampoline just
above. me->arch.core.plt may not exist otherwise.

Miroslav