Thanks for the patch.

Acked-by: Kairui Song <kasong@redhat.com>

On Wed, Aug 22, 2018 at 4:24 AM Bhupesh Sharma <bhsharma@redhat.com> wrote:
Resolves: bz1619122
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1619122

This patch fixes the "Unhandled rela relocation: R_X86_64_PLT32" error
that we are seeing with Fedora 29 (and newer kernels > 4.18) which
trying to run kexec/kdump on x86_64 machines.

The patch is being discussed upstream and has been ACK'ed by Baoquan and
myself (see <https://www.spinics.net/lists/kexec/msg21255.html>) and I
have also tested the same on Fedora 29/rawhide x86_64 machine as well:

Before the patch:
----------------
[root@hp-bl480c-01 ~]# kdumpctl restart
  kexec: unloaded kdump kernel
  Stopping kdump: [OK]
  Unhandled rela relocation: R_X86_64_PLT32
  kexec: failed to load kdump kernel
  Starting kdump: [FAILED]

After the patch:
---------------
[root@hp-bl480c-01 ~]# kdumpctl restart
  kexec: unloaded kdump kernel
  Stopping kdump: [OK]
  kexec: loaded kdump kernel
  Starting kdump: [OK]

Suggested Upstream Fix:

    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.

    Signed-off-by: Chris Clayton <chris2553@googlemail.com>

Signed-off-by: Bhupesh Sharma <bhsharma@redhat.com>
---
 ...or-Unhandled-rela-relocation-R_X86_64_PLT.patch | 37 ++++++++++++++++++++++
 kexec-tools.spec                                   |  3 ++
 2 files changed, 40 insertions(+)
 create mode 100644 kexec-tools-2.0.17-kexec-fix-for-Unhandled-rela-relocation-R_X86_64_PLT.patch

diff --git a/kexec-tools-2.0.17-kexec-fix-for-Unhandled-rela-relocation-R_X86_64_PLT.patch b/kexec-tools-2.0.17-kexec-fix-for-Unhandled-rela-relocation-R_X86_64_PLT.patch
new file mode 100644
index 000000000000..ace1ea935a0e
--- /dev/null
+++ b/kexec-tools-2.0.17-kexec-fix-for-Unhandled-rela-relocation-R_X86_64_PLT.patch
@@ -0,0 +1,37 @@
+From 35a2fb50293da9fbd94f29a2ed6a4f114fd8044f Mon Sep 17 00:00:00 2001
+From: Bhupesh Sharma <bhsharma@redhat.com>
+Date: Tue, 21 Aug 2018 16:22:31 +0530
+Subject: [PATCH] kexec: fix for "Unhandled rela relocation: R_X86_64_PLT32"
+ error
+
+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.
+
+Signed-off-by: Chris Clayton <chris2553@googlemail.com>
+---
+ kexec/arch/x86_64/kexec-elf-rel-x86_64.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+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 7fdde73a5eca..af33689a7d43 100644
+--- a/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
++++ b/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
+@@ -78,7 +78,8 @@ void machine_apply_elf_rel(struct mem_ehdr *UNUSED(ehdr),
+               if ((int64_t)value != *(int32_t *)location)
+                       goto overflow;
+               break;
+-      case R_X86_64_PC32:
++      case R_X86_64_PC32:
++      case R_X86_64_PLT32:
+               *(uint32_t *)location = value - address;
+               break;
+       default:
+--
+2.7.4
+
diff --git a/kexec-tools.spec b/kexec-tools.spec
index 7f27bd40d963..38d46b58e584 100644
--- a/kexec-tools.spec
+++ b/kexec-tools.spec
@@ -71,6 +71,7 @@ Obsoletes: diskdumputils netdump kexec-tools-eppic
 #
 # Patches 101 through 200 are meant for x86_64 kexec-tools enablement
 #
+Patch101: kexec-tools-2.0.17-kexec-fix-for-Unhandled-rela-relocation-R_X86_64_PLT.patch

 #
 # Patches 301 through 400 are meant for ppc64 kexec-tools enablement
@@ -101,6 +102,8 @@ mkdir -p -m755 kcp
 tar -z -x -v -f %{SOURCE9}
 tar -z -x -v -f %{SOURCE19}

+%patch101 -p1
+
 %ifarch ppc
 %define archdef ARCH=ppc
 %endif
--
2.7.4
_______________________________________________
kexec mailing list -- kexec@lists.fedoraproject.org
To unsubscribe send an email to kexec-leave@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/kexec@lists.fedoraproject.org/message/MYZYTX6SHRFIQR4WJVBUCYGSW6723VNF/


--
Best Regards,
Kairui Song