Re: [PATCH v2 1/1] s390/kexec: handle R_390_PLT32DBL rela in arch_kexec_apply_relocations_add()

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

 



On Thu, Dec 09, 2021 at 12:01:42PM +0100, Philipp Rudo wrote:
> On Thu,  9 Dec 2021 08:38:17 +0100
> Alexander Egorenkov <egorenar@xxxxxxxxxxxxx> wrote:
> 
> > Starting with gcc 11.3, the C compiler will generate PLT-relative function
> > calls even if they are local and do not require it. Later on during linking,
> > the linker will replace all PLT-relative calls to local functions with
> > PC-relative ones. Unfortunately, the purgatory code of kexec/kdump is
> > not being linked as a regular executable or shared library would have been,
> > and therefore, all PLT-relative addresses remain in the generated purgatory
> > object code unresolved. This leads to the situation where the purgatory
> > code is being executed during kdump with all PLT-relative addresses
> > unresolved. And this results in endless loops within the purgatory code.
> > 
> > Furthermore, the clang C compiler has always behaved like described above
> > and this commit should fix kdump for kernels built with the latter.
> > 
> > Because the purgatory code is no regular executable or shared library,
> > contains only calls to local functions and has no PLT, all R_390_PLT32DBL
> > relocation entries can be resolved just like a R_390_PC32DBL one.
...
> > Signed-off-by: Alexander Egorenkov <egorenar@xxxxxxxxxxxxx>
> > Reported-by: Tao Liu <ltao@xxxxxxxxxx>
> > Suggested-by: Philipp Rudo <prudo@xxxxxxxxxx>
> 
> Thanks!
> 
> Reviewed-by: Philipp Rudo <prudo@xxxxxxxxxx>

Applied, thanks!



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Kernel Development]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Info]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Linux Media]     [Device Mapper]

  Powered by Linux