All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	stable@vger.kernel.org, chenzefeng <chenzefeng2@huawei.com>,
	Petr Mladek <pmladek@suse.com>
Subject: [PATCH 4.4 13/20] [PATCH] x86: livepatch: Treat R_X86_64_PLT32 as R_X86_64_PC32
Date: Thu, 21 Feb 2019 15:35:43 +0100	[thread overview]
Message-ID: <20190221141947.151506933@linuxfoundation.org> (raw)
In-Reply-To: <20190221141946.772985220@linuxfoundation.org>

4.4-stable review patch.  If anyone has any objections, please let me know.

------------------

Signed-off-by: chenzefeng <chenzefeng2@huawei.com>

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.

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>

This issue only effacted the kernel version from 4.0 to 4.6, becauce the
function klp_write_module_reloc is introduced by: commit b700e7f03df5
("livepatch: kernel: add support for live patching") and deleted by:
commit 425595a7fc20 ("livepatch: reuse module loader code to write
relocations")

Signed-off-by: chenzefeng <chenzefeng2@huawei.com>
Reviewed-by: Petr Mladek <pmladek@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 arch/x86/kernel/livepatch.c |    1 +
 1 file changed, 1 insertion(+)

--- a/arch/x86/kernel/livepatch.c
+++ b/arch/x86/kernel/livepatch.c
@@ -58,6 +58,7 @@ int klp_write_module_reloc(struct module
 		val = (s32)value;
 		break;
 	case R_X86_64_PC32:
+	case R_X86_64_PLT32:
 		val = (u32)(value - loc);
 		break;
 	default:



  parent reply	other threads:[~2019-02-21 14:37 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-21 14:35 [PATCH 4.4 00/20] 4.4.176-stable review Greg Kroah-Hartman
2019-02-21 14:35 ` [PATCH 4.4 01/20] net: fix IPv6 prefix route residue Greg Kroah-Hartman
2019-02-21 14:35 ` [PATCH 4.4 02/20] vsock: cope with memory allocation failure at socket creation time Greg Kroah-Hartman
2019-02-21 14:35 ` [PATCH 4.4 03/20] hwmon: (lm80) Fix missing unlock on error in set_fan_div() Greg Kroah-Hartman
2019-02-21 14:35 ` [PATCH 4.4 04/20] net: Fix for_each_netdev_feature on Big endian Greg Kroah-Hartman
2019-02-21 14:35 ` [PATCH 4.4 05/20] sky2: Increase D3 delay again Greg Kroah-Hartman
2019-02-21 14:35 ` [PATCH 4.4 06/20] net: Add header for usage of fls64() Greg Kroah-Hartman
2019-02-21 14:35 ` [PATCH 4.4 07/20] tcp: tcp_v4_err() should be more careful Greg Kroah-Hartman
2019-02-21 14:35 ` [PATCH 4.4 08/20] net: Do not allocate page fragments that are not skb aligned Greg Kroah-Hartman
2019-02-21 14:35 ` [PATCH 4.4 09/20] tcp: clear icsk_backoff in tcp_write_queue_purge() Greg Kroah-Hartman
2019-02-21 14:35 ` [PATCH 4.4 10/20] vxlan: test dev->flags & IFF_UP before calling netif_rx() Greg Kroah-Hartman
2019-02-21 14:35 ` [PATCH 4.4 11/20] net: stmmac: Fix a race in EEE enable callback Greg Kroah-Hartman
2019-02-21 14:35 ` [PATCH 4.4 12/20] net: ipv4: use a dedicated counter for icmp_v4 redirect packets Greg Kroah-Hartman
2019-02-21 14:35 ` Greg Kroah-Hartman [this message]
2019-02-21 14:35 ` [PATCH 4.4 14/20] kvm: fix kvm_ioctl_create_device() reference counting (CVE-2019-6974) Greg Kroah-Hartman
2019-02-21 14:35 ` [PATCH 4.4 15/20] mfd: as3722: Handle interrupts on suspend Greg Kroah-Hartman
2019-02-21 14:35 ` [PATCH 4.4 16/20] mfd: as3722: Mark PM functions as __maybe_unused Greg Kroah-Hartman
2019-02-21 14:35 ` [PATCH 4.4 17/20] net/x25: do not hold the cpu too long in x25_new_lci() Greg Kroah-Hartman
2019-02-21 14:35 ` [PATCH 4.4 18/20] mISDN: fix a race in dev_expire_timer() Greg Kroah-Hartman
2019-02-21 14:35 ` [PATCH 4.4 19/20] ax25: fix possible use-after-free Greg Kroah-Hartman
2019-02-21 14:35 ` [PATCH 4.4 20/20] KVM: VMX: Fix x2apic check in vmx_msr_bitmap_mode() Greg Kroah-Hartman
2019-02-21 18:19 ` [PATCH 4.4 00/20] 4.4.176-stable review kernelci.org bot
2019-02-22  2:38 ` Naresh Kamboju
2019-02-22  8:12 ` Jon Hunter
2019-02-22  8:12   ` Jon Hunter
2019-02-22 22:59 ` shuah
2019-02-22 23:30 ` Guenter Roeck

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=20190221141947.151506933@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=chenzefeng2@huawei.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pmladek@suse.com \
    --cc=stable@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.