aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.9.21/0089-objtool-x86-Add-several-functions-and-files-to-the-o.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.9.21/0089-objtool-x86-Add-several-functions-and-files-to-the-o.patch')
-rw-r--r--common/recipes-kernel/linux/linux-yocto-4.9.21/0089-objtool-x86-Add-several-functions-and-files-to-the-o.patch316
1 files changed, 0 insertions, 316 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.9.21/0089-objtool-x86-Add-several-functions-and-files-to-the-o.patch b/common/recipes-kernel/linux/linux-yocto-4.9.21/0089-objtool-x86-Add-several-functions-and-files-to-the-o.patch
deleted file mode 100644
index 6bdeb9f8..00000000
--- a/common/recipes-kernel/linux/linux-yocto-4.9.21/0089-objtool-x86-Add-several-functions-and-files-to-the-o.patch
+++ /dev/null
@@ -1,316 +0,0 @@
-From 1a39c1b7d192d62e6d4203ea7acfc35eb3317c48 Mon Sep 17 00:00:00 2001
-From: Josh Poimboeuf <jpoimboe@redhat.com>
-Date: Wed, 28 Jun 2017 10:11:06 -0500
-Subject: [PATCH 89/93] objtool, x86: Add several functions and files to the
- objtool whitelist
-
-commit c207aee48037abca71c669cbec407b9891965c34 upstream.
-
-In preparation for an objtool rewrite which will have broader checks,
-whitelist functions and files which cause problems because they do
-unusual things with the stack.
-
-These whitelists serve as a TODO list for which functions and files
-don't yet have undwarf unwinder coverage. Eventually most of the
-whitelists can be removed in favor of manual CFI hint annotations or
-objtool improvements.
-
-Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
-Cc: Andy Lutomirski <luto@kernel.org>
-Cc: Jiri Slaby <jslaby@suse.cz>
-Cc: Linus Torvalds <torvalds@linux-foundation.org>
-Cc: Peter Zijlstra <peterz@infradead.org>
-Cc: Thomas Gleixner <tglx@linutronix.de>
-Cc: live-patching@vger.kernel.org
-Link: http://lkml.kernel.org/r/7f934a5d707a574bda33ea282e9478e627fb1829.1498659915.git.jpoimboe@redhat.com
-Signed-off-by: Ingo Molnar <mingo@kernel.org>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/x86/crypto/Makefile | 2 ++
- arch/x86/crypto/sha1-mb/Makefile | 2 ++
- arch/x86/crypto/sha256-mb/Makefile | 2 ++
- arch/x86/kernel/Makefile | 1 +
- arch/x86/kernel/acpi/Makefile | 2 ++
- arch/x86/kernel/kprobes/opt.c | 9 ++++++++-
- arch/x86/kernel/reboot.c | 2 ++
- arch/x86/kvm/svm.c | 2 ++
- arch/x86/kvm/vmx.c | 3 +++
- arch/x86/lib/msr-reg.S | 8 ++++----
- arch/x86/net/Makefile | 2 ++
- arch/x86/platform/efi/Makefile | 1 +
- arch/x86/power/Makefile | 2 ++
- arch/x86/xen/Makefile | 3 +++
- kernel/kexec_core.c | 4 +++-
- 15 files changed, 39 insertions(+), 6 deletions(-)
-
-diff --git a/arch/x86/crypto/Makefile b/arch/x86/crypto/Makefile
-index 34b3fa2..9e32d40 100644
---- a/arch/x86/crypto/Makefile
-+++ b/arch/x86/crypto/Makefile
-@@ -2,6 +2,8 @@
- # Arch-specific CryptoAPI modules.
- #
-
-+OBJECT_FILES_NON_STANDARD := y
-+
- avx_supported := $(call as-instr,vpxor %xmm0$(comma)%xmm0$(comma)%xmm0,yes,no)
- avx2_supported := $(call as-instr,vpgatherdd %ymm0$(comma)(%eax$(comma)%ymm1\
- $(comma)4)$(comma)%ymm2,yes,no)
-diff --git a/arch/x86/crypto/sha1-mb/Makefile b/arch/x86/crypto/sha1-mb/Makefile
-index 2f87563..2e14acc 100644
---- a/arch/x86/crypto/sha1-mb/Makefile
-+++ b/arch/x86/crypto/sha1-mb/Makefile
-@@ -2,6 +2,8 @@
- # Arch-specific CryptoAPI modules.
- #
-
-+OBJECT_FILES_NON_STANDARD := y
-+
- avx2_supported := $(call as-instr,vpgatherdd %ymm0$(comma)(%eax$(comma)%ymm1\
- $(comma)4)$(comma)%ymm2,yes,no)
- ifeq ($(avx2_supported),yes)
-diff --git a/arch/x86/crypto/sha256-mb/Makefile b/arch/x86/crypto/sha256-mb/Makefile
-index 41089e7..45b4fca 100644
---- a/arch/x86/crypto/sha256-mb/Makefile
-+++ b/arch/x86/crypto/sha256-mb/Makefile
-@@ -2,6 +2,8 @@
- # Arch-specific CryptoAPI modules.
- #
-
-+OBJECT_FILES_NON_STANDARD := y
-+
- avx2_supported := $(call as-instr,vpgatherdd %ymm0$(comma)(%eax$(comma)%ymm1\
- $(comma)4)$(comma)%ymm2,yes,no)
- ifeq ($(avx2_supported),yes)
-diff --git a/arch/x86/kernel/Makefile b/arch/x86/kernel/Makefile
-index 79076d7..4c9c615 100644
---- a/arch/x86/kernel/Makefile
-+++ b/arch/x86/kernel/Makefile
-@@ -29,6 +29,7 @@ OBJECT_FILES_NON_STANDARD_head_$(BITS).o := y
- OBJECT_FILES_NON_STANDARD_relocate_kernel_$(BITS).o := y
- OBJECT_FILES_NON_STANDARD_mcount_$(BITS).o := y
- OBJECT_FILES_NON_STANDARD_test_nx.o := y
-+OBJECT_FILES_NON_STANDARD_paravirt_patch_$(BITS).o := y
-
- # If instrumentation of this dir is enabled, boot hangs during first second.
- # Probably could be more selective here, but note that files related to irqs,
-diff --git a/arch/x86/kernel/acpi/Makefile b/arch/x86/kernel/acpi/Makefile
-index 26b78d8..85a9e17 100644
---- a/arch/x86/kernel/acpi/Makefile
-+++ b/arch/x86/kernel/acpi/Makefile
-@@ -1,3 +1,5 @@
-+OBJECT_FILES_NON_STANDARD_wakeup_$(BITS).o := y
-+
- obj-$(CONFIG_ACPI) += boot.o
- obj-$(CONFIG_ACPI_SLEEP) += sleep.o wakeup_$(BITS).o
- obj-$(CONFIG_ACPI_APEI) += apei.o
-diff --git a/arch/x86/kernel/kprobes/opt.c b/arch/x86/kernel/kprobes/opt.c
-index 90f8cd6..6a7b428 100644
---- a/arch/x86/kernel/kprobes/opt.c
-+++ b/arch/x86/kernel/kprobes/opt.c
-@@ -28,6 +28,7 @@
- #include <linux/kdebug.h>
- #include <linux/kallsyms.h>
- #include <linux/ftrace.h>
-+#include <linux/frame.h>
-
- #include <asm/text-patching.h>
- #include <asm/cacheflush.h>
-@@ -91,6 +92,7 @@ static void synthesize_set_arg1(kprobe_opcode_t *addr, unsigned long val)
- }
-
- asm (
-+ "optprobe_template_func:\n"
- ".global optprobe_template_entry\n"
- "optprobe_template_entry:\n"
- #ifdef CONFIG_X86_64
-@@ -128,7 +130,12 @@ asm (
- " popf\n"
- #endif
- ".global optprobe_template_end\n"
-- "optprobe_template_end:\n");
-+ "optprobe_template_end:\n"
-+ ".type optprobe_template_func, @function\n"
-+ ".size optprobe_template_func, .-optprobe_template_func\n");
-+
-+void optprobe_template_func(void);
-+STACK_FRAME_NON_STANDARD(optprobe_template_func);
-
- #define TMPL_MOVE_IDX \
- ((long)&optprobe_template_val - (long)&optprobe_template_entry)
-diff --git a/arch/x86/kernel/reboot.c b/arch/x86/kernel/reboot.c
-index e244c19..acca20d 100644
---- a/arch/x86/kernel/reboot.c
-+++ b/arch/x86/kernel/reboot.c
-@@ -9,6 +9,7 @@
- #include <linux/sched.h>
- #include <linux/tboot.h>
- #include <linux/delay.h>
-+#include <linux/frame.h>
- #include <acpi/reboot.h>
- #include <asm/io.h>
- #include <asm/apic.h>
-@@ -123,6 +124,7 @@ void __noreturn machine_real_restart(unsigned int type)
- #ifdef CONFIG_APM_MODULE
- EXPORT_SYMBOL(machine_real_restart);
- #endif
-+STACK_FRAME_NON_STANDARD(machine_real_restart);
-
- /*
- * Some Apple MacBook and MacBookPro's needs reboot=p to be able to reboot
-diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c
-index c60d8fc..2672102 100644
---- a/arch/x86/kvm/svm.c
-+++ b/arch/x86/kvm/svm.c
-@@ -36,6 +36,7 @@
- #include <linux/slab.h>
- #include <linux/amd-iommu.h>
- #include <linux/hashtable.h>
-+#include <linux/frame.h>
-
- #include <asm/apic.h>
- #include <asm/perf_event.h>
-@@ -5099,6 +5100,7 @@ static void svm_vcpu_run(struct kvm_vcpu *vcpu)
-
- mark_all_clean(svm->vmcb);
- }
-+STACK_FRAME_NON_STANDARD(svm_vcpu_run);
-
- static void svm_set_cr3(struct kvm_vcpu *vcpu, unsigned long root)
- {
-diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
-index 9307c0d..d39062c 100644
---- a/arch/x86/kvm/vmx.c
-+++ b/arch/x86/kvm/vmx.c
-@@ -33,6 +33,7 @@
- #include <linux/slab.h>
- #include <linux/tboot.h>
- #include <linux/hrtimer.h>
-+#include <linux/frame.h>
- #include <linux/nospec.h>
- #include "kvm_cache_regs.h"
- #include "x86.h"
-@@ -8680,6 +8681,7 @@ static void vmx_handle_external_intr(struct kvm_vcpu *vcpu)
- );
- }
- }
-+STACK_FRAME_NON_STANDARD(vmx_handle_external_intr);
-
- static bool vmx_has_emulated_msr(int index)
- {
-@@ -9120,6 +9122,7 @@ static void __noclone vmx_vcpu_run(struct kvm_vcpu *vcpu)
- vmx_recover_nmi_blocking(vmx);
- vmx_complete_interrupts(vmx);
- }
-+STACK_FRAME_NON_STANDARD(vmx_vcpu_run);
-
- static void vmx_load_vmcs01(struct kvm_vcpu *vcpu)
- {
-diff --git a/arch/x86/lib/msr-reg.S b/arch/x86/lib/msr-reg.S
-index c815564..10ffa7e 100644
---- a/arch/x86/lib/msr-reg.S
-+++ b/arch/x86/lib/msr-reg.S
-@@ -13,14 +13,14 @@
- .macro op_safe_regs op
- ENTRY(\op\()_safe_regs)
- pushq %rbx
-- pushq %rbp
-+ pushq %r12
- movq %rdi, %r10 /* Save pointer */
- xorl %r11d, %r11d /* Return value */
- movl (%rdi), %eax
- movl 4(%rdi), %ecx
- movl 8(%rdi), %edx
- movl 12(%rdi), %ebx
-- movl 20(%rdi), %ebp
-+ movl 20(%rdi), %r12d
- movl 24(%rdi), %esi
- movl 28(%rdi), %edi
- 1: \op
-@@ -29,10 +29,10 @@ ENTRY(\op\()_safe_regs)
- movl %ecx, 4(%r10)
- movl %edx, 8(%r10)
- movl %ebx, 12(%r10)
-- movl %ebp, 20(%r10)
-+ movl %r12d, 20(%r10)
- movl %esi, 24(%r10)
- movl %edi, 28(%r10)
-- popq %rbp
-+ popq %r12
- popq %rbx
- ret
- 3:
-diff --git a/arch/x86/net/Makefile b/arch/x86/net/Makefile
-index 90568c3..fefb4b6 100644
---- a/arch/x86/net/Makefile
-+++ b/arch/x86/net/Makefile
-@@ -1,4 +1,6 @@
- #
- # Arch-specific network modules
- #
-+OBJECT_FILES_NON_STANDARD_bpf_jit.o += y
-+
- obj-$(CONFIG_BPF_JIT) += bpf_jit.o bpf_jit_comp.o
-diff --git a/arch/x86/platform/efi/Makefile b/arch/x86/platform/efi/Makefile
-index 066619b..7a25502 100644
---- a/arch/x86/platform/efi/Makefile
-+++ b/arch/x86/platform/efi/Makefile
-@@ -1,4 +1,5 @@
- OBJECT_FILES_NON_STANDARD_efi_thunk_$(BITS).o := y
-+OBJECT_FILES_NON_STANDARD_efi_stub_$(BITS).o := y
-
- obj-$(CONFIG_EFI) += quirks.o efi.o efi_$(BITS).o efi_stub_$(BITS).o
- obj-$(CONFIG_ACPI_BGRT) += efi-bgrt.o
-diff --git a/arch/x86/power/Makefile b/arch/x86/power/Makefile
-index a6a198c..0504187 100644
---- a/arch/x86/power/Makefile
-+++ b/arch/x86/power/Makefile
-@@ -1,3 +1,5 @@
-+OBJECT_FILES_NON_STANDARD_hibernate_asm_$(BITS).o := y
-+
- # __restore_processor_state() restores %gs after S3 resume and so should not
- # itself be stack-protected
- nostackp := $(call cc-option, -fno-stack-protector)
-diff --git a/arch/x86/xen/Makefile b/arch/x86/xen/Makefile
-index e47e527..4a54059 100644
---- a/arch/x86/xen/Makefile
-+++ b/arch/x86/xen/Makefile
-@@ -1,3 +1,6 @@
-+OBJECT_FILES_NON_STANDARD_xen-asm_$(BITS).o := y
-+OBJECT_FILES_NON_STANDARD_xen-pvh.o := y
-+
- ifdef CONFIG_FUNCTION_TRACER
- # Do not profile debug and lowlevel utilities
- CFLAGS_REMOVE_spinlock.o = -pg
-diff --git a/kernel/kexec_core.c b/kernel/kexec_core.c
-index 5616755..f5ab72e 100644
---- a/kernel/kexec_core.c
-+++ b/kernel/kexec_core.c
-@@ -38,6 +38,7 @@
- #include <linux/syscore_ops.h>
- #include <linux/compiler.h>
- #include <linux/hugetlb.h>
-+#include <linux/frame.h>
-
- #include <asm/page.h>
- #include <asm/sections.h>
-@@ -878,7 +879,7 @@ int kexec_load_disabled;
- * only when panic_cpu holds the current CPU number; this is the only CPU
- * which processes crash_kexec routines.
- */
--void __crash_kexec(struct pt_regs *regs)
-+void __noclone __crash_kexec(struct pt_regs *regs)
- {
- /* Take the kexec_mutex here to prevent sys_kexec_load
- * running on one cpu from replacing the crash kernel
-@@ -900,6 +901,7 @@ void __crash_kexec(struct pt_regs *regs)
- mutex_unlock(&kexec_mutex);
- }
- }
-+STACK_FRAME_NON_STANDARD(__crash_kexec);
-
- void crash_kexec(struct pt_regs *regs)
- {
---
-2.7.4
-