All of lore.kernel.org
 help / color / mirror / Atom feed
From: Helge Deller <deller@gmx.de>
To: Jeroen Roovers <jer@gentoo.org>
Cc: linux-parisc <linux-parisc@vger.kernel.org>, hppa@gentoo.org
Subject: [PATCH] parisc: Fix module loading error with JUMP_LABEL feature
Date: Sat, 8 Jun 2019 20:04:46 +0200	[thread overview]
Message-ID: <20190608180446.GA18954@ls3530.dellerweb.de> (raw)
In-Reply-To: <20190608164914.1b8d546f@wim.jer>

Commit 62217beb394e ("parisc: Add static branch and JUMP_LABEL feature") missed
to add code to handle PCREL64 relocations which are generated when creating a
jump label on a 64-bit kernel.

This patch fixes module load errors like this one:
# modprobe -v ipv6
insmod /lib/modules/5.2.0-rc1-JeR/kernel/net/ipv6/ipv6.ko
modprobe: ERROR: could not insert 'ipv6': Exec format error
dmesg reports:
module ipv6: Unknown relocation: 72

Reported-by: Jeroen Roovers <jer@gentoo.org>
Tested-by: Jeroen Roovers <jer@gentoo.org>
Fixes: 62217beb394e ("parisc: Add static branch and JUMP_LABEL feature")
Signed-off-by: Helge Deller <deller@gmx.de>

diff --git a/arch/parisc/kernel/module.c b/arch/parisc/kernel/module.c
index f241ded9239b..1f0f29a289d3 100644
--- a/arch/parisc/kernel/module.c
+++ b/arch/parisc/kernel/module.c
@@ -786,6 +786,10 @@ int apply_relocate_add(Elf_Shdr *sechdrs,
 			/* 32-bit PC relative address */
 			*loc = val - dot - 8 + addend;
 			break;
+		case R_PARISC_PCREL64:
+			/* 64-bit PC relative address */
+			*loc64 = val - dot - 8 + addend;
+			break;
 		case R_PARISC_DIR64:
 			/* 64-bit effective address */
 			*loc64 = val + addend;

  reply	other threads:[~2019-06-08 18:04 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-08 12:52 [RESEND V2] modprobe: ERROR: could not insert 'ipv6': Exec format error / module ipv6: Unknown relocation: 72 Jeroen Roovers
2019-06-08 13:41 ` Helge Deller
2019-06-08 13:51   ` Jeroen Roovers
2019-06-08 14:32   ` Helge Deller
2019-06-08 14:49     ` Jeroen Roovers
2019-06-08 18:04       ` Helge Deller [this message]
2019-06-08 13:50 ` John David Anglin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190608180446.GA18954@ls3530.dellerweb.de \
    --to=deller@gmx.de \
    --cc=hppa@gentoo.org \
    --cc=jer@gentoo.org \
    --cc=linux-parisc@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.