Re: [PATCH] x86: livepatch: Treat R_X86_64_PLT32 as R_X86_64_PC32

From: gregkh@xxxxxxxxxxxxxxxxxxx
Date: Mon Feb 18 2019 - 06:47:56 EST


On Fri, Feb 15, 2019 at 02:01:31AM +0000, chenzefeng (A) wrote:
> On x86-64, for 32-bit PC-relacive branches, we can generate PLT32 relocation, instead of PC32 relocation. and R_X86_64_PLT32 can be treated the same as R_X86_64_PC32 since linux kernel doesn't use PLT.
>
> In linux 4.4 commit b21ebf2fb4cd ("x86: Treat R_X86_64_PLT32 as R_X86_64_PC32") been fixed for the module loading, but not fixed for livepatch relocation, which will fail to load livepatch with the error message as follow:
> relocation failed for symbol <symbol name> at <symbol address>
>
> Signed-off-by: chenzefeng <chenzefeng2@xxxxxxxxxx>
> ---
> arch/x86/kernel/livepatch.c | 1 +
> 1 file changed, 1 insertion(+)

<formletter>

This is not the correct way to submit patches for inclusion in the
stable kernel tree. Please read:
https://www.kernel.org/doc/html/latest/process/stable-kernel-rules.html
for how to do this properly.

</formletter>