Re: kexec: fix for "Unhandled rela relocation: R_X86_64_PLT32" error

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 08/20/18 at 04:12pm, Chris Clayton wrote:
> 
> 
> On 20/08/2018 13:21, Baoquan He wrote:
> > Hi Chris,
> > 
> > On 08/20/18 at 08:17pm, Baoquan He wrote:
> >> In response to a change in binutils, commit b21ebf2fb4c
> >> (x86: Treat R_X86_64_PLT32 as R_X86_64_PC32) was applied to
> >> the linux kernel during the 4.16 development cycle and has
> >> since been backported to earlier stable kernel series. The
> >> change results in the failure message in $SUBJECT when
> >> rebooting via kexec.
> >>
> >> Fix this by replicating the change in kexec.
> >>
> 
> OK.
> 
> >> Signed-off-by: Chris Clayton <chris2553@xxxxxxxxxxxxxx>
> > 
> > I adjusted the patch log a little bit, you have tested it on upstream
> > kernel, right?
> > 
> 
> At the time of my original message (25 July 2018), 4.18.0-rc6+ was the latest upstream. I tested my change on that and
> on the latest stable 4.14 series kernel, which was 4.14.57. I've just tested it with 4.18.3 and 4.14.65 and it works
> fine. I don't have a 4.19 development kernel installed at the moment - I'm busy with other stuff.

I think it's fine and enough, ack this patch.

Acked-by: Baoquan He <bhe@xxxxxxxxxx>

By the way, feel free to repost with this format so that Simon won't
miss it. And you can add my ack when you repost. Surely you can also
wait for Simon or ping him later in this threaad.


Thanks
Baoquan
> 
> 
> > Thanks
> > Baoquan
> > 
> >> ---
> >>  kexec/arch/x86_64/kexec-elf-rel-x86_64.c | 1 +
> >>  1 file changed, 1 insertion(+)
> >>
> >> diff --git a/kexec/arch/x86_64/kexec-elf-rel-x86_64.c b/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
> >> index 7fdde73..db85b44 100644
> >> --- a/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
> >> +++ b/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
> >> @@ -79,6 +79,7 @@ void machine_apply_elf_rel(struct mem_ehdr *UNUSED(ehdr),
> >>  			goto overflow;
> >>  		break;
> >>  	case R_X86_64_PC32: 
> >> +	case R_X86_64_PLT32:
> >>  		*(uint32_t *)location = value - address;
> >>  		break;
> >>  	default:
> >> -- 
> >> 2.13.6
> >>
> >>
> >> _______________________________________________
> >> kexec mailing list
> >> kexec@xxxxxxxxxxxxxxxxxxx
> >> http://lists.infradead.org/mailman/listinfo/kexec

_______________________________________________
kexec mailing list
kexec@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/kexec



[Index of Archives]     [LM Sensors]     [Linux Sound]     [ALSA Users]     [ALSA Devel]     [Linux Audio Users]     [Linux Media]     [Kernel]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux