]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
drop a bunch of mips vdso patches from 5.4 and 5.5 queues
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 20 Mar 2020 10:54:22 +0000 (11:54 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 20 Mar 2020 10:54:22 +0000 (11:54 +0100)
queue-5.4/mips-disable-vdso-time-functionality-on-micromips.patch [deleted file]
queue-5.4/mips-vdso-add-build-time-check-that-no-jalr-t9-calls.patch [deleted file]
queue-5.4/mips-vdso-fix-jalr-t9-crash-in-vdso-code.patch [deleted file]
queue-5.4/mips-vdso-wrap-mexplicit-relocs-in-cc-option.patch [deleted file]
queue-5.4/series
queue-5.5/mips-disable-vdso-time-functionality-on-micromips.patch [deleted file]
queue-5.5/mips-vdso-add-build-time-check-that-no-jalr-t9-calls.patch [deleted file]
queue-5.5/mips-vdso-fix-jalr-t9-crash-in-vdso-code.patch [deleted file]
queue-5.5/mips-vdso-wrap-mexplicit-relocs-in-cc-option.patch [deleted file]
queue-5.5/series

diff --git a/queue-5.4/mips-disable-vdso-time-functionality-on-micromips.patch b/queue-5.4/mips-disable-vdso-time-functionality-on-micromips.patch
deleted file mode 100644 (file)
index 6198491..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-From 2ba581a1eed721ed9bb228a2226885c23fc62e96 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Sat, 15 Feb 2020 12:38:36 -0800
-Subject: MIPS: Disable VDSO time functionality on microMIPS
-
-From: Paul Burton <paulburton@kernel.org>
-
-[ Upstream commit 07015d7a103c4420b69a287b8ef4d2535c0f4106 ]
-
-A check we're about to add to pick up on function calls that depend on
-bogus use of the GOT in the VDSO picked up on instances of such function
-calls in microMIPS builds. Since the code appears genuinely problematic,
-and given the relatively small amount of use & testing that microMIPS
-sees, go ahead & disable the VDSO for microMIPS builds.
-
-Signed-off-by: Paul Burton <paulburton@kernel.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- arch/mips/vdso/Makefile | 19 +++++++++++++++++--
- 1 file changed, 17 insertions(+), 2 deletions(-)
-
-diff --git a/arch/mips/vdso/Makefile b/arch/mips/vdso/Makefile
-index 3fa4bbe1bae53..b6b1eb638fb14 100644
---- a/arch/mips/vdso/Makefile
-+++ b/arch/mips/vdso/Makefile
-@@ -48,6 +48,8 @@ endif
- CFLAGS_REMOVE_vgettimeofday.o = -pg
-+DISABLE_VDSO := n
-+
- #
- # For the pre-R6 code in arch/mips/vdso/vdso.h for locating
- # the base address of VDSO, the linker will emit a R_MIPS_PC32
-@@ -61,11 +63,24 @@ CFLAGS_REMOVE_vgettimeofday.o = -pg
- ifndef CONFIG_CPU_MIPSR6
-   ifeq ($(call ld-ifversion, -lt, 225000000, y),y)
-     $(warning MIPS VDSO requires binutils >= 2.25)
--    obj-vdso-y := $(filter-out vgettimeofday.o, $(obj-vdso-y))
--    ccflags-vdso += -DDISABLE_MIPS_VDSO
-+    DISABLE_VDSO := y
-   endif
- endif
-+#
-+# GCC (at least up to version 9.2) appears to emit function calls that make use
-+# of the GOT when targeting microMIPS, which we can't use in the VDSO due to
-+# the lack of relocations. As such, we disable the VDSO for microMIPS builds.
-+#
-+ifdef CONFIG_CPU_MICROMIPS
-+  DISABLE_VDSO := y
-+endif
-+
-+ifeq ($(DISABLE_VDSO),y)
-+  obj-vdso-y := $(filter-out vgettimeofday.o, $(obj-vdso-y))
-+  ccflags-vdso += -DDISABLE_MIPS_VDSO
-+endif
-+
- # VDSO linker flags.
- VDSO_LDFLAGS := \
-       -Wl,-Bsymbolic -Wl,--no-undefined -Wl,-soname=linux-vdso.so.1 \
--- 
-2.20.1
-
diff --git a/queue-5.4/mips-vdso-add-build-time-check-that-no-jalr-t9-calls.patch b/queue-5.4/mips-vdso-add-build-time-check-that-no-jalr-t9-calls.patch
deleted file mode 100644 (file)
index 53f443b..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-From d6dbfc25a98e0e428be338ece3ff9b62d73a9a0e Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Tue, 11 Feb 2020 11:24:34 -0800
-Subject: mips: vdso: add build time check that no 'jalr t9' calls left
-
-From: Victor Kamensky <kamensky@cisco.com>
-
-[ Upstream commit 976c23af3ee5bd3447a7bfb6c356ceb4acf264a6 ]
-
-vdso shared object cannot have GOT based PIC 'jalr t9' calls
-because nobody set GOT table in vdso. Contributing into vdso
-.o files are compiled in PIC mode and as result for internal
-static functions calls compiler will generate 'jalr t9'
-instructions. Those are supposed to be converted into PC
-relative 'bal' calls by linker when relocation are processed.
-
-Mips global GOT entries do have dynamic relocations and they
-will be caught by cmd_vdso_check Makefile rule. Static PIC
-calls go through mips local GOT entries that do not have
-dynamic relocations. For those 'jalr t9' calls could be present
-but without dynamic relocations and they need to be converted
-to 'bal' calls by linker.
-
-Add additional build time check to make sure that no 'jalr t9'
-slip through because of some toolchain misconfiguration that
-prevents 'jalr t9' to 'bal' conversion.
-
-Signed-off-by: Victor Kamensky <kamensky@cisco.com>
-Signed-off-by: Paul Burton <paulburton@kernel.org>
-Cc: linux-mips@vger.kernel.org
-Cc: Ralf Baechle <ralf@linux-mips.org>
-Cc: James Hogan <jhogan@kernel.org>
-Cc: Vincenzo Frascino <vincenzo.frascino@arm.com>
-Cc: bruce.ashfield@gmail.com
-Cc: richard.purdie@linuxfoundation.org
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- arch/mips/vdso/Makefile | 8 +++++++-
- 1 file changed, 7 insertions(+), 1 deletion(-)
-
-diff --git a/arch/mips/vdso/Makefile b/arch/mips/vdso/Makefile
-index b6b1eb638fb14..08c835d48520b 100644
---- a/arch/mips/vdso/Makefile
-+++ b/arch/mips/vdso/Makefile
-@@ -92,12 +92,18 @@ CFLAGS_REMOVE_vdso.o = -pg
- GCOV_PROFILE := n
- UBSAN_SANITIZE := n
-+# Check that we don't have PIC 'jalr t9' calls left
-+quiet_cmd_vdso_mips_check = VDSOCHK $@
-+      cmd_vdso_mips_check = if $(OBJDUMP) --disassemble $@ | egrep -h "jalr.*t9" > /dev/null; \
-+                     then (echo >&2 "$@: PIC 'jalr t9' calls are not supported"; \
-+                           rm -f $@; /bin/false); fi
-+
- #
- # Shared build commands.
- #
- quiet_cmd_vdsold_and_vdso_check = LD      $@
--      cmd_vdsold_and_vdso_check = $(cmd_vdsold); $(cmd_vdso_check)
-+      cmd_vdsold_and_vdso_check = $(cmd_vdsold); $(cmd_vdso_check); $(cmd_vdso_mips_check)
- quiet_cmd_vdsold = VDSO    $@
-       cmd_vdsold = $(CC) $(c_flags) $(VDSO_LDFLAGS) \
--- 
-2.20.1
-
diff --git a/queue-5.4/mips-vdso-fix-jalr-t9-crash-in-vdso-code.patch b/queue-5.4/mips-vdso-fix-jalr-t9-crash-in-vdso-code.patch
deleted file mode 100644 (file)
index fbb0b3b..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-From df0555ff55ce3743d444fb025c7620231dede79f Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Tue, 11 Feb 2020 11:24:33 -0800
-Subject: mips: vdso: fix 'jalr t9' crash in vdso code
-
-From: Victor Kamensky <kamensky@cisco.com>
-
-[ Upstream commit d3f703c4359ff06619b2322b91f69710453e6b6d ]
-
-Observed that when kernel is built with Yocto mips64-poky-linux-gcc,
-and mips64-poky-linux-gnun32-gcc toolchain, resulting vdso contains
-'jalr t9' instructions in its code and since in vdso case nobody
-sets GOT table code crashes when instruction reached. On other hand
-observed that when kernel is built mips-poky-linux-gcc toolchain, the
-same 'jalr t9' instruction are replaced with PC relative function
-calls using 'bal' instructions.
-
-The difference boils down to -mrelax-pic-calls and -mexplicit-relocs
-gcc options that gets different default values depending on gcc
-target triplets and corresponding binutils. -mrelax-pic-calls got
-enabled by default only in mips-poky-linux-gcc case. MIPS binutils
-ld relies on R_MIPS_JALR relocation to convert 'jalr t9' into 'bal'
-and such relocation is generated only if -mrelax-pic-calls option
-is on.
-
-Please note 'jalr t9' conversion to 'bal' can happen only to static
-functions. These static PIC calls use mips local GOT entries that
-are supposed to be filled with start of DSO value by run-time linker
-(missing in VDSO case) and they do not have dynamic relocations.
-Global mips GOT entries must have dynamic relocations and they should
-be prevented by cmd_vdso_check Makefile rule.
-
-Solution call out -mrelax-pic-calls and -mexplicit-relocs options
-explicitly while compiling MIPS vdso code. That would get correct
-and consistent between different toolchains behaviour.
-
-Reported-by: Bruce Ashfield <bruce.ashfield@gmail.com>
-Signed-off-by: Victor Kamensky <kamensky@cisco.com>
-Signed-off-by: Paul Burton <paulburton@kernel.org>
-Cc: linux-mips@vger.kernel.org
-Cc: Ralf Baechle <ralf@linux-mips.org>
-Cc: James Hogan <jhogan@kernel.org>
-Cc: Vincenzo Frascino <vincenzo.frascino@arm.com>
-Cc: richard.purdie@linuxfoundation.org
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- arch/mips/vdso/Makefile | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/arch/mips/vdso/Makefile b/arch/mips/vdso/Makefile
-index 996a934ece7d6..3fa4bbe1bae53 100644
---- a/arch/mips/vdso/Makefile
-+++ b/arch/mips/vdso/Makefile
-@@ -29,6 +29,7 @@ endif
- cflags-vdso := $(ccflags-vdso) \
-       $(filter -W%,$(filter-out -Wa$(comma)%,$(KBUILD_CFLAGS))) \
-       -O3 -g -fPIC -fno-strict-aliasing -fno-common -fno-builtin -G 0 \
-+      -mrelax-pic-calls -mexplicit-relocs \
-       -fno-stack-protector -fno-jump-tables -DDISABLE_BRANCH_PROFILING \
-       $(call cc-option, -fno-asynchronous-unwind-tables) \
-       $(call cc-option, -fno-stack-protector)
--- 
-2.20.1
-
diff --git a/queue-5.4/mips-vdso-wrap-mexplicit-relocs-in-cc-option.patch b/queue-5.4/mips-vdso-wrap-mexplicit-relocs-in-cc-option.patch
deleted file mode 100644 (file)
index 7e2807f..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-From 427addbc959bc58b53b156c278df64babba0ab8a Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Mon, 17 Feb 2020 14:11:49 -0700
-Subject: MIPS: vdso: Wrap -mexplicit-relocs in cc-option
-
-From: Nathan Chancellor <natechancellor@gmail.com>
-
-[ Upstream commit 72cf3b3df423c1bbd8fa1056fed009d3a260f8a9 ]
-
-Clang does not support this option and errors out:
-
-clang-11: error: unknown argument: '-mexplicit-relocs'
-
-Clang does not appear to need this flag like GCC does because the jalr
-check that was added in commit 976c23af3ee5 ("mips: vdso: add build
-time check that no 'jalr t9' calls left") passes just fine with
-
-$ make ARCH=mips CC=clang CROSS_COMPILE=mipsel-linux-gnu- malta_defconfig arch/mips/vdso/
-
-even before commit d3f703c4359f ("mips: vdso: fix 'jalr t9' crash in
-vdso code").
-
--mrelax-pic-calls has been supported since clang 9, which is the
-earliest version that could build a working MIPS kernel, and it is the
-default for clang so just leave it be.
-
-Fixes: d3f703c4359f ("mips: vdso: fix 'jalr t9' crash in vdso code")
-Link: https://github.com/ClangBuiltLinux/linux/issues/890
-Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
-Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
-Tested-by: Nick Desaulniers <ndesaulniers@google.com>
-Signed-off-by: Paul Burton <paulburton@kernel.org>
-Cc: Ralf Baechle <ralf@linux-mips.org>
-Cc: linux-mips@vger.kernel.org
-Cc: linux-kernel@vger.kernel.org
-Cc: clang-built-linux@googlegroups.com
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- arch/mips/vdso/Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/arch/mips/vdso/Makefile b/arch/mips/vdso/Makefile
-index 08c835d48520b..3dcfdee678fb9 100644
---- a/arch/mips/vdso/Makefile
-+++ b/arch/mips/vdso/Makefile
-@@ -29,7 +29,7 @@ endif
- cflags-vdso := $(ccflags-vdso) \
-       $(filter -W%,$(filter-out -Wa$(comma)%,$(KBUILD_CFLAGS))) \
-       -O3 -g -fPIC -fno-strict-aliasing -fno-common -fno-builtin -G 0 \
--      -mrelax-pic-calls -mexplicit-relocs \
-+      -mrelax-pic-calls $(call cc-option, -mexplicit-relocs) \
-       -fno-stack-protector -fno-jump-tables -DDISABLE_BRANCH_PROFILING \
-       $(call cc-option, -fno-asynchronous-unwind-tables) \
-       $(call cc-option, -fno-stack-protector)
--- 
-2.20.1
-
index 18029a92d79a10ec44869cfbeaf2c963df0c1c2c..fc57c33e3c90760a1eba713cb2b65e3b437c7136 100644 (file)
@@ -6,13 +6,9 @@ acpi-watchdog-allow-disabling-wdat-at-boot.patch
 hid-apple-add-support-for-recent-firmware-on-magic-k.patch
 acpi-watchdog-set-default-timeout-in-probe.patch
 hid-i2c-hid-add-trekstor-surfbook-e11b-to-descriptor.patch
-mips-vdso-fix-jalr-t9-crash-in-vdso-code.patch
-mips-disable-vdso-time-functionality-on-micromips.patch
-mips-vdso-add-build-time-check-that-no-jalr-t9-calls.patch
 hid-hid-bigbenff-fix-general-protection-fault-caused.patch
 hid-hid-bigbenff-call-hid_hw_stop-in-case-of-error.patch
 hid-hid-bigbenff-fix-race-condition-for-scheduled-wo.patch
-mips-vdso-wrap-mexplicit-relocs-in-cc-option.patch
 selftests-rseq-fix-out-of-tree-compilation.patch
 tracing-fix-number-printing-bug-in-print_synth_event.patch
 cfg80211-check-reg_rule-for-null-in-handle_channel_c.patch
diff --git a/queue-5.5/mips-disable-vdso-time-functionality-on-micromips.patch b/queue-5.5/mips-disable-vdso-time-functionality-on-micromips.patch
deleted file mode 100644 (file)
index 294cd2c..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-From b9e03b8337d2ad0c2f4e3b57e894be67269bd701 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Sat, 15 Feb 2020 12:38:36 -0800
-Subject: MIPS: Disable VDSO time functionality on microMIPS
-
-From: Paul Burton <paulburton@kernel.org>
-
-[ Upstream commit 07015d7a103c4420b69a287b8ef4d2535c0f4106 ]
-
-A check we're about to add to pick up on function calls that depend on
-bogus use of the GOT in the VDSO picked up on instances of such function
-calls in microMIPS builds. Since the code appears genuinely problematic,
-and given the relatively small amount of use & testing that microMIPS
-sees, go ahead & disable the VDSO for microMIPS builds.
-
-Signed-off-by: Paul Burton <paulburton@kernel.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- arch/mips/vdso/Makefile | 19 +++++++++++++++++--
- 1 file changed, 17 insertions(+), 2 deletions(-)
-
-diff --git a/arch/mips/vdso/Makefile b/arch/mips/vdso/Makefile
-index 96afd73c94e8a..e8585a22b925c 100644
---- a/arch/mips/vdso/Makefile
-+++ b/arch/mips/vdso/Makefile
-@@ -48,6 +48,8 @@ endif
- CFLAGS_REMOVE_vgettimeofday.o = -pg
-+DISABLE_VDSO := n
-+
- #
- # For the pre-R6 code in arch/mips/vdso/vdso.h for locating
- # the base address of VDSO, the linker will emit a R_MIPS_PC32
-@@ -61,11 +63,24 @@ CFLAGS_REMOVE_vgettimeofday.o = -pg
- ifndef CONFIG_CPU_MIPSR6
-   ifeq ($(call ld-ifversion, -lt, 225000000, y),y)
-     $(warning MIPS VDSO requires binutils >= 2.25)
--    obj-vdso-y := $(filter-out vgettimeofday.o, $(obj-vdso-y))
--    ccflags-vdso += -DDISABLE_MIPS_VDSO
-+    DISABLE_VDSO := y
-   endif
- endif
-+#
-+# GCC (at least up to version 9.2) appears to emit function calls that make use
-+# of the GOT when targeting microMIPS, which we can't use in the VDSO due to
-+# the lack of relocations. As such, we disable the VDSO for microMIPS builds.
-+#
-+ifdef CONFIG_CPU_MICROMIPS
-+  DISABLE_VDSO := y
-+endif
-+
-+ifeq ($(DISABLE_VDSO),y)
-+  obj-vdso-y := $(filter-out vgettimeofday.o, $(obj-vdso-y))
-+  ccflags-vdso += -DDISABLE_MIPS_VDSO
-+endif
-+
- # VDSO linker flags.
- VDSO_LDFLAGS := \
-       -Wl,-Bsymbolic -Wl,--no-undefined -Wl,-soname=linux-vdso.so.1 \
--- 
-2.20.1
-
diff --git a/queue-5.5/mips-vdso-add-build-time-check-that-no-jalr-t9-calls.patch b/queue-5.5/mips-vdso-add-build-time-check-that-no-jalr-t9-calls.patch
deleted file mode 100644 (file)
index 95ed4a4..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-From 1fbf79f866d7e31660067ca9f375d5e2d97e9e4d Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Tue, 11 Feb 2020 11:24:34 -0800
-Subject: mips: vdso: add build time check that no 'jalr t9' calls left
-
-From: Victor Kamensky <kamensky@cisco.com>
-
-[ Upstream commit 976c23af3ee5bd3447a7bfb6c356ceb4acf264a6 ]
-
-vdso shared object cannot have GOT based PIC 'jalr t9' calls
-because nobody set GOT table in vdso. Contributing into vdso
-.o files are compiled in PIC mode and as result for internal
-static functions calls compiler will generate 'jalr t9'
-instructions. Those are supposed to be converted into PC
-relative 'bal' calls by linker when relocation are processed.
-
-Mips global GOT entries do have dynamic relocations and they
-will be caught by cmd_vdso_check Makefile rule. Static PIC
-calls go through mips local GOT entries that do not have
-dynamic relocations. For those 'jalr t9' calls could be present
-but without dynamic relocations and they need to be converted
-to 'bal' calls by linker.
-
-Add additional build time check to make sure that no 'jalr t9'
-slip through because of some toolchain misconfiguration that
-prevents 'jalr t9' to 'bal' conversion.
-
-Signed-off-by: Victor Kamensky <kamensky@cisco.com>
-Signed-off-by: Paul Burton <paulburton@kernel.org>
-Cc: linux-mips@vger.kernel.org
-Cc: Ralf Baechle <ralf@linux-mips.org>
-Cc: James Hogan <jhogan@kernel.org>
-Cc: Vincenzo Frascino <vincenzo.frascino@arm.com>
-Cc: bruce.ashfield@gmail.com
-Cc: richard.purdie@linuxfoundation.org
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- arch/mips/vdso/Makefile | 8 +++++++-
- 1 file changed, 7 insertions(+), 1 deletion(-)
-
-diff --git a/arch/mips/vdso/Makefile b/arch/mips/vdso/Makefile
-index e8585a22b925c..bfb65b2d57c7f 100644
---- a/arch/mips/vdso/Makefile
-+++ b/arch/mips/vdso/Makefile
-@@ -93,12 +93,18 @@ GCOV_PROFILE := n
- UBSAN_SANITIZE := n
- KCOV_INSTRUMENT := n
-+# Check that we don't have PIC 'jalr t9' calls left
-+quiet_cmd_vdso_mips_check = VDSOCHK $@
-+      cmd_vdso_mips_check = if $(OBJDUMP) --disassemble $@ | egrep -h "jalr.*t9" > /dev/null; \
-+                     then (echo >&2 "$@: PIC 'jalr t9' calls are not supported"; \
-+                           rm -f $@; /bin/false); fi
-+
- #
- # Shared build commands.
- #
- quiet_cmd_vdsold_and_vdso_check = LD      $@
--      cmd_vdsold_and_vdso_check = $(cmd_vdsold); $(cmd_vdso_check)
-+      cmd_vdsold_and_vdso_check = $(cmd_vdsold); $(cmd_vdso_check); $(cmd_vdso_mips_check)
- quiet_cmd_vdsold = VDSO    $@
-       cmd_vdsold = $(CC) $(c_flags) $(VDSO_LDFLAGS) \
--- 
-2.20.1
-
diff --git a/queue-5.5/mips-vdso-fix-jalr-t9-crash-in-vdso-code.patch b/queue-5.5/mips-vdso-fix-jalr-t9-crash-in-vdso-code.patch
deleted file mode 100644 (file)
index e16e683..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-From a09c04c400058169c123f72dd09d384d7b23a069 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Tue, 11 Feb 2020 11:24:33 -0800
-Subject: mips: vdso: fix 'jalr t9' crash in vdso code
-
-From: Victor Kamensky <kamensky@cisco.com>
-
-[ Upstream commit d3f703c4359ff06619b2322b91f69710453e6b6d ]
-
-Observed that when kernel is built with Yocto mips64-poky-linux-gcc,
-and mips64-poky-linux-gnun32-gcc toolchain, resulting vdso contains
-'jalr t9' instructions in its code and since in vdso case nobody
-sets GOT table code crashes when instruction reached. On other hand
-observed that when kernel is built mips-poky-linux-gcc toolchain, the
-same 'jalr t9' instruction are replaced with PC relative function
-calls using 'bal' instructions.
-
-The difference boils down to -mrelax-pic-calls and -mexplicit-relocs
-gcc options that gets different default values depending on gcc
-target triplets and corresponding binutils. -mrelax-pic-calls got
-enabled by default only in mips-poky-linux-gcc case. MIPS binutils
-ld relies on R_MIPS_JALR relocation to convert 'jalr t9' into 'bal'
-and such relocation is generated only if -mrelax-pic-calls option
-is on.
-
-Please note 'jalr t9' conversion to 'bal' can happen only to static
-functions. These static PIC calls use mips local GOT entries that
-are supposed to be filled with start of DSO value by run-time linker
-(missing in VDSO case) and they do not have dynamic relocations.
-Global mips GOT entries must have dynamic relocations and they should
-be prevented by cmd_vdso_check Makefile rule.
-
-Solution call out -mrelax-pic-calls and -mexplicit-relocs options
-explicitly while compiling MIPS vdso code. That would get correct
-and consistent between different toolchains behaviour.
-
-Reported-by: Bruce Ashfield <bruce.ashfield@gmail.com>
-Signed-off-by: Victor Kamensky <kamensky@cisco.com>
-Signed-off-by: Paul Burton <paulburton@kernel.org>
-Cc: linux-mips@vger.kernel.org
-Cc: Ralf Baechle <ralf@linux-mips.org>
-Cc: James Hogan <jhogan@kernel.org>
-Cc: Vincenzo Frascino <vincenzo.frascino@arm.com>
-Cc: richard.purdie@linuxfoundation.org
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- arch/mips/vdso/Makefile | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/arch/mips/vdso/Makefile b/arch/mips/vdso/Makefile
-index e05938997e696..96afd73c94e8a 100644
---- a/arch/mips/vdso/Makefile
-+++ b/arch/mips/vdso/Makefile
-@@ -29,6 +29,7 @@ endif
- cflags-vdso := $(ccflags-vdso) \
-       $(filter -W%,$(filter-out -Wa$(comma)%,$(KBUILD_CFLAGS))) \
-       -O3 -g -fPIC -fno-strict-aliasing -fno-common -fno-builtin -G 0 \
-+      -mrelax-pic-calls -mexplicit-relocs \
-       -fno-stack-protector -fno-jump-tables -DDISABLE_BRANCH_PROFILING \
-       $(call cc-option, -fno-asynchronous-unwind-tables) \
-       $(call cc-option, -fno-stack-protector)
--- 
-2.20.1
-
diff --git a/queue-5.5/mips-vdso-wrap-mexplicit-relocs-in-cc-option.patch b/queue-5.5/mips-vdso-wrap-mexplicit-relocs-in-cc-option.patch
deleted file mode 100644 (file)
index 2df4c21..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-From 8259d900bbaa98a35737a0063e057dab173b1acc Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Mon, 17 Feb 2020 14:11:49 -0700
-Subject: MIPS: vdso: Wrap -mexplicit-relocs in cc-option
-
-From: Nathan Chancellor <natechancellor@gmail.com>
-
-[ Upstream commit 72cf3b3df423c1bbd8fa1056fed009d3a260f8a9 ]
-
-Clang does not support this option and errors out:
-
-clang-11: error: unknown argument: '-mexplicit-relocs'
-
-Clang does not appear to need this flag like GCC does because the jalr
-check that was added in commit 976c23af3ee5 ("mips: vdso: add build
-time check that no 'jalr t9' calls left") passes just fine with
-
-$ make ARCH=mips CC=clang CROSS_COMPILE=mipsel-linux-gnu- malta_defconfig arch/mips/vdso/
-
-even before commit d3f703c4359f ("mips: vdso: fix 'jalr t9' crash in
-vdso code").
-
--mrelax-pic-calls has been supported since clang 9, which is the
-earliest version that could build a working MIPS kernel, and it is the
-default for clang so just leave it be.
-
-Fixes: d3f703c4359f ("mips: vdso: fix 'jalr t9' crash in vdso code")
-Link: https://github.com/ClangBuiltLinux/linux/issues/890
-Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
-Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
-Tested-by: Nick Desaulniers <ndesaulniers@google.com>
-Signed-off-by: Paul Burton <paulburton@kernel.org>
-Cc: Ralf Baechle <ralf@linux-mips.org>
-Cc: linux-mips@vger.kernel.org
-Cc: linux-kernel@vger.kernel.org
-Cc: clang-built-linux@googlegroups.com
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- arch/mips/vdso/Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/arch/mips/vdso/Makefile b/arch/mips/vdso/Makefile
-index bfb65b2d57c7f..2cf4b6131d88d 100644
---- a/arch/mips/vdso/Makefile
-+++ b/arch/mips/vdso/Makefile
-@@ -29,7 +29,7 @@ endif
- cflags-vdso := $(ccflags-vdso) \
-       $(filter -W%,$(filter-out -Wa$(comma)%,$(KBUILD_CFLAGS))) \
-       -O3 -g -fPIC -fno-strict-aliasing -fno-common -fno-builtin -G 0 \
--      -mrelax-pic-calls -mexplicit-relocs \
-+      -mrelax-pic-calls $(call cc-option, -mexplicit-relocs) \
-       -fno-stack-protector -fno-jump-tables -DDISABLE_BRANCH_PROFILING \
-       $(call cc-option, -fno-asynchronous-unwind-tables) \
-       $(call cc-option, -fno-stack-protector)
--- 
-2.20.1
-
index f12af18ddb82d32efb8538aa4b4b433192949a27..1db2ad7c173cb99bea84fe5f5a98a5f65c45925a 100644 (file)
@@ -4,14 +4,10 @@ acpi-watchdog-allow-disabling-wdat-at-boot.patch
 hid-apple-add-support-for-recent-firmware-on-magic-k.patch
 acpi-watchdog-set-default-timeout-in-probe.patch
 hid-i2c-hid-add-trekstor-surfbook-e11b-to-descriptor.patch
-mips-vdso-fix-jalr-t9-crash-in-vdso-code.patch
-mips-disable-vdso-time-functionality-on-micromips.patch
-mips-vdso-add-build-time-check-that-no-jalr-t9-calls.patch
 hid-hid-bigbenff-fix-general-protection-fault-caused.patch
 hid-hid-bigbenff-call-hid_hw_stop-in-case-of-error.patch
 hid-hid-bigbenff-fix-race-condition-for-scheduled-wo.patch
 riscv-set-pmp-configuration-if-kernel-is-running-in-.patch
-mips-vdso-wrap-mexplicit-relocs-in-cc-option.patch
 kunit-run-kunit_tool-from-any-directory.patch
 selftests-rseq-fix-out-of-tree-compilation.patch
 tracing-fix-number-printing-bug-in-print_synth_event.patch