From: Greg Kroah-Hartman Date: Thu, 29 Oct 2020 12:59:39 +0000 (+0100) Subject: 4.14-stable patches X-Git-Tag: v4.19.154~15 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4c5a62a3decb2624f659557ef5df5fc486fe26b0;p=thirdparty%2Fkernel%2Fstable-queue.git 4.14-stable patches added patches: arm64-link-with-z-norelro-regardless-of-config_relocatable.patch --- diff --git a/queue-4.14/arm64-link-with-z-norelro-regardless-of-config_relocatable.patch b/queue-4.14/arm64-link-with-z-norelro-regardless-of-config_relocatable.patch new file mode 100644 index 00000000000..115c5cb98be --- /dev/null +++ b/queue-4.14/arm64-link-with-z-norelro-regardless-of-config_relocatable.patch @@ -0,0 +1,49 @@ +From 3b92fa7485eba16b05166fddf38ab42f2ff6ab95 Mon Sep 17 00:00:00 2001 +From: Nick Desaulniers +Date: Fri, 16 Oct 2020 10:53:39 -0700 +Subject: arm64: link with -z norelro regardless of CONFIG_RELOCATABLE + +From: Nick Desaulniers + +commit 3b92fa7485eba16b05166fddf38ab42f2ff6ab95 upstream. + +With CONFIG_EXPERT=y, CONFIG_KASAN=y, CONFIG_RANDOMIZE_BASE=n, +CONFIG_RELOCATABLE=n, we observe the following failure when trying to +link the kernel image with LD=ld.lld: + +error: section: .exit.data is not contiguous with other relro sections + +ld.lld defaults to -z relro while ld.bfd defaults to -z norelro. This +was previously fixed, but only for CONFIG_RELOCATABLE=y. + +Fixes: 3bbd3db86470 ("arm64: relocatable: fix inconsistencies in linker script and options") +Signed-off-by: Nick Desaulniers +Cc: stable@vger.kernel.org +Link: https://lore.kernel.org/r/20201016175339.2429280-1-ndesaulniers@google.com +Signed-off-by: Will Deacon +Signed-off-by: Greg Kroah-Hartman + +--- + arch/arm64/Makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/arch/arm64/Makefile ++++ b/arch/arm64/Makefile +@@ -10,7 +10,7 @@ + # + # Copyright (C) 1995-2001 by Russell King + +-LDFLAGS_vmlinux :=--no-undefined -X ++LDFLAGS_vmlinux :=--no-undefined -X -z norelro + CPPFLAGS_vmlinux.lds = -DTEXT_OFFSET=$(TEXT_OFFSET) + GZFLAGS :=-9 + +@@ -18,7 +18,7 @@ ifeq ($(CONFIG_RELOCATABLE), y) + # Pass --no-apply-dynamic-relocs to restore pre-binutils-2.27 behaviour + # for relative relocs, since this leads to better Image compression + # with the relocation offsets always being zero. +-LDFLAGS_vmlinux += -shared -Bsymbolic -z notext -z norelro \ ++LDFLAGS_vmlinux += -shared -Bsymbolic -z notext \ + $(call ld-option, --no-apply-dynamic-relocs) + endif + diff --git a/queue-4.14/series b/queue-4.14/series index eac7b525958..26858578a50 100644 --- a/queue-4.14/series +++ b/queue-4.14/series @@ -1 +1,2 @@ scripts-setlocalversion-make-git-describe-output-more-reliable.patch +arm64-link-with-z-norelro-regardless-of-config_relocatable.patch