]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
drop some more retbleed patches from 5.18 queue
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 21 Jul 2022 18:01:48 +0000 (20:01 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 21 Jul 2022 18:01:48 +0000 (20:01 +0200)
queue-5.18/series
queue-5.18/x86-cpu-amd-add-spectral-chicken.patch [deleted file]
queue-5.18/x86-xen-rename-sys-entry-points.patch [deleted file]

index 584b09f443322f511e450d16b181b29957583c30..c823d6367b4dfd21bf936124c763000946193229 100644 (file)
@@ -142,8 +142,6 @@ net-atlantic-remove-aq_nic_deinit-when-resume.patch
 kvm-x86-fully-initialize-struct-kvm_lapic_irq-in-kvm.patch
 net-tls-check-for-errors-in-tls_device_init.patch
 mm-sysctl-fix-missing-numa_stat-when-config_hugetlb_.patch
-x86-xen-rename-sys-entry-points.patch
-x86-cpu-amd-add-spectral-chicken.patch
 arm-9211-1-domain-drop-modify_domain.patch
 arm-9212-1-domain-modify-kconfig-help-text.patch
 asoc-dt-bindings-fix-description-for-msm8916.patch
diff --git a/queue-5.18/x86-cpu-amd-add-spectral-chicken.patch b/queue-5.18/x86-cpu-amd-add-spectral-chicken.patch
deleted file mode 100644 (file)
index 47f5147..0000000
+++ /dev/null
@@ -1,117 +0,0 @@
-From bbbf9cd770a7ba5109e077ca099dc062d1ad9518 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Tue, 14 Jun 2022 23:16:04 +0200
-Subject: x86/cpu/amd: Add Spectral Chicken
-
-From: Peter Zijlstra <peterz@infradead.org>
-
-[ Upstream commit d7caac991feeef1b871ee6988fd2c9725df09039 ]
-
-Zen2 uarchs have an undocumented, unnamed, MSR that contains a chicken
-bit for some speculation behaviour. It needs setting.
-
-Note: very belatedly AMD released naming; it's now officially called
-      MSR_AMD64_DE_CFG2 and MSR_AMD64_DE_CFG2_SUPPRESS_NOBR_PRED_BIT
-      but shall remain the SPECTRAL CHICKEN.
-
-Suggested-by: Andrew Cooper <Andrew.Cooper3@citrix.com>
-Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
-Signed-off-by: Borislav Petkov <bp@suse.de>
-Reviewed-by: Josh Poimboeuf <jpoimboe@kernel.org>
-Signed-off-by: Borislav Petkov <bp@suse.de>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- arch/x86/include/asm/msr-index.h |  3 +++
- arch/x86/kernel/cpu/amd.c        | 23 ++++++++++++++++++++++-
- arch/x86/kernel/cpu/cpu.h        |  2 ++
- arch/x86/kernel/cpu/hygon.c      |  6 ++++++
- 4 files changed, 33 insertions(+), 1 deletion(-)
-
-diff --git a/arch/x86/include/asm/msr-index.h b/arch/x86/include/asm/msr-index.h
-index 4425d6773183..d15d0ef6b357 100644
---- a/arch/x86/include/asm/msr-index.h
-+++ b/arch/x86/include/asm/msr-index.h
-@@ -552,6 +552,9 @@
- /* Fam 17h MSRs */
- #define MSR_F17H_IRPERF                       0xc00000e9
-+#define MSR_ZEN2_SPECTRAL_CHICKEN     0xc00110e3
-+#define MSR_ZEN2_SPECTRAL_CHICKEN_BIT BIT_ULL(1)
-+
- /* Fam 16h MSRs */
- #define MSR_F16H_L2I_PERF_CTL         0xc0010230
- #define MSR_F16H_L2I_PERF_CTR         0xc0010231
-diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c
-index 0c0b09796ced..8cf0659c0521 100644
---- a/arch/x86/kernel/cpu/amd.c
-+++ b/arch/x86/kernel/cpu/amd.c
-@@ -862,6 +862,26 @@ static void init_amd_bd(struct cpuinfo_x86 *c)
-       clear_rdrand_cpuid_bit(c);
- }
-+void init_spectral_chicken(struct cpuinfo_x86 *c)
-+{
-+      u64 value;
-+
-+      /*
-+       * On Zen2 we offer this chicken (bit) on the altar of Speculation.
-+       *
-+       * This suppresses speculation from the middle of a basic block, i.e. it
-+       * suppresses non-branch predictions.
-+       *
-+       * We use STIBP as a heuristic to filter out Zen2 from the rest of F17H
-+       */
-+      if (!cpu_has(c, X86_FEATURE_HYPERVISOR) && cpu_has(c, X86_FEATURE_AMD_STIBP)) {
-+              if (!rdmsrl_safe(MSR_ZEN2_SPECTRAL_CHICKEN, &value)) {
-+                      value |= MSR_ZEN2_SPECTRAL_CHICKEN_BIT;
-+                      wrmsrl_safe(MSR_ZEN2_SPECTRAL_CHICKEN, value);
-+              }
-+      }
-+}
-+
- static void init_amd_zn(struct cpuinfo_x86 *c)
- {
-       set_cpu_cap(c, X86_FEATURE_ZEN);
-@@ -907,7 +927,8 @@ static void init_amd(struct cpuinfo_x86 *c)
-       case 0x12: init_amd_ln(c); break;
-       case 0x15: init_amd_bd(c); break;
-       case 0x16: init_amd_jg(c); break;
--      case 0x17: fallthrough;
-+      case 0x17: init_spectral_chicken(c);
-+                 fallthrough;
-       case 0x19: init_amd_zn(c); break;
-       }
-diff --git a/arch/x86/kernel/cpu/cpu.h b/arch/x86/kernel/cpu/cpu.h
-index 2a8e584fc991..7c9b5893c30a 100644
---- a/arch/x86/kernel/cpu/cpu.h
-+++ b/arch/x86/kernel/cpu/cpu.h
-@@ -61,6 +61,8 @@ static inline void tsx_init(void) { }
- static inline void tsx_ap_init(void) { }
- #endif /* CONFIG_CPU_SUP_INTEL */
-+extern void init_spectral_chicken(struct cpuinfo_x86 *c);
-+
- extern void get_cpu_cap(struct cpuinfo_x86 *c);
- extern void get_cpu_address_sizes(struct cpuinfo_x86 *c);
- extern void cpu_detect_cache_sizes(struct cpuinfo_x86 *c);
-diff --git a/arch/x86/kernel/cpu/hygon.c b/arch/x86/kernel/cpu/hygon.c
-index 3fcdda4c1e11..21fd425088fe 100644
---- a/arch/x86/kernel/cpu/hygon.c
-+++ b/arch/x86/kernel/cpu/hygon.c
-@@ -302,6 +302,12 @@ static void init_hygon(struct cpuinfo_x86 *c)
-       /* get apicid instead of initial apic id from cpuid */
-       c->apicid = hard_smp_processor_id();
-+      /*
-+       * XXX someone from Hygon needs to confirm this DTRT
-+       *
-+      init_spectral_chicken(c);
-+       */
-+
-       set_cpu_cap(c, X86_FEATURE_ZEN);
-       set_cpu_cap(c, X86_FEATURE_CPB);
--- 
-2.35.1
-
diff --git a/queue-5.18/x86-xen-rename-sys-entry-points.patch b/queue-5.18/x86-xen-rename-sys-entry-points.patch
deleted file mode 100644 (file)
index 26bface..0000000
+++ /dev/null
@@ -1,142 +0,0 @@
-From 8656f768ea3921fb8f9789696dd2b95e46b94c02 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Tue, 14 Jun 2022 23:16:00 +0200
-Subject: x86/xen: Rename SYS* entry points
-
-From: Peter Zijlstra <peterz@infradead.org>
-
-[ Upstream commit b75b7f8ef1148be1b9321ffc2f6c19238904b438 ]
-
-Native SYS{CALL,ENTER} entry points are called
-entry_SYS{CALL,ENTER}_{64,compat}, make sure the Xen versions are
-named consistently.
-
-Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
-Signed-off-by: Borislav Petkov <bp@suse.de>
-Reviewed-by: Josh Poimboeuf <jpoimboe@kernel.org>
-Signed-off-by: Borislav Petkov <bp@suse.de>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- arch/x86/xen/setup.c   |  6 +++---
- arch/x86/xen/xen-asm.S | 20 ++++++++++----------
- arch/x86/xen/xen-ops.h |  6 +++---
- 3 files changed, 16 insertions(+), 16 deletions(-)
-
-diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
-index 81aa46f770c5..cfa99e8f054b 100644
---- a/arch/x86/xen/setup.c
-+++ b/arch/x86/xen/setup.c
-@@ -918,7 +918,7 @@ void xen_enable_sysenter(void)
-       if (!boot_cpu_has(sysenter_feature))
-               return;
--      ret = register_callback(CALLBACKTYPE_sysenter, xen_sysenter_target);
-+      ret = register_callback(CALLBACKTYPE_sysenter, xen_entry_SYSENTER_compat);
-       if(ret != 0)
-               setup_clear_cpu_cap(sysenter_feature);
- }
-@@ -927,7 +927,7 @@ void xen_enable_syscall(void)
- {
-       int ret;
--      ret = register_callback(CALLBACKTYPE_syscall, xen_syscall_target);
-+      ret = register_callback(CALLBACKTYPE_syscall, xen_entry_SYSCALL_64);
-       if (ret != 0) {
-               printk(KERN_ERR "Failed to set syscall callback: %d\n", ret);
-               /* Pretty fatal; 64-bit userspace has no other
-@@ -936,7 +936,7 @@ void xen_enable_syscall(void)
-       if (boot_cpu_has(X86_FEATURE_SYSCALL32)) {
-               ret = register_callback(CALLBACKTYPE_syscall32,
--                                      xen_syscall32_target);
-+                                      xen_entry_SYSCALL_compat);
-               if (ret != 0)
-                       setup_clear_cpu_cap(X86_FEATURE_SYSCALL32);
-       }
-diff --git a/arch/x86/xen/xen-asm.S b/arch/x86/xen/xen-asm.S
-index caa9bc2fa100..6bf9d45b9178 100644
---- a/arch/x86/xen/xen-asm.S
-+++ b/arch/x86/xen/xen-asm.S
-@@ -234,7 +234,7 @@ SYM_CODE_END(xenpv_restore_regs_and_return_to_usermode)
-  */
- /* Normal 64-bit system call target */
--SYM_CODE_START(xen_syscall_target)
-+SYM_CODE_START(xen_entry_SYSCALL_64)
-       UNWIND_HINT_EMPTY
-       ENDBR
-       popq %rcx
-@@ -249,12 +249,12 @@ SYM_CODE_START(xen_syscall_target)
-       movq $__USER_CS, 1*8(%rsp)
-       jmp entry_SYSCALL_64_after_hwframe
--SYM_CODE_END(xen_syscall_target)
-+SYM_CODE_END(xen_entry_SYSCALL_64)
- #ifdef CONFIG_IA32_EMULATION
- /* 32-bit compat syscall target */
--SYM_CODE_START(xen_syscall32_target)
-+SYM_CODE_START(xen_entry_SYSCALL_compat)
-       UNWIND_HINT_EMPTY
-       ENDBR
-       popq %rcx
-@@ -269,10 +269,10 @@ SYM_CODE_START(xen_syscall32_target)
-       movq $__USER32_CS, 1*8(%rsp)
-       jmp entry_SYSCALL_compat_after_hwframe
--SYM_CODE_END(xen_syscall32_target)
-+SYM_CODE_END(xen_entry_SYSCALL_compat)
- /* 32-bit compat sysenter target */
--SYM_CODE_START(xen_sysenter_target)
-+SYM_CODE_START(xen_entry_SYSENTER_compat)
-       UNWIND_HINT_EMPTY
-       ENDBR
-       /*
-@@ -291,19 +291,19 @@ SYM_CODE_START(xen_sysenter_target)
-       movq $__USER32_CS, 1*8(%rsp)
-       jmp entry_SYSENTER_compat_after_hwframe
--SYM_CODE_END(xen_sysenter_target)
-+SYM_CODE_END(xen_entry_SYSENTER_compat)
- #else /* !CONFIG_IA32_EMULATION */
--SYM_CODE_START(xen_syscall32_target)
--SYM_CODE_START(xen_sysenter_target)
-+SYM_CODE_START(xen_entry_SYSCALL_compat)
-+SYM_CODE_START(xen_entry_SYSENTER_compat)
-       UNWIND_HINT_EMPTY
-       ENDBR
-       lea 16(%rsp), %rsp      /* strip %rcx, %r11 */
-       mov $-ENOSYS, %rax
-       pushq $0
-       jmp hypercall_iret
--SYM_CODE_END(xen_sysenter_target)
--SYM_CODE_END(xen_syscall32_target)
-+SYM_CODE_END(xen_entry_SYSENTER_compat)
-+SYM_CODE_END(xen_entry_SYSCALL_compat)
- #endif        /* CONFIG_IA32_EMULATION */
-diff --git a/arch/x86/xen/xen-ops.h b/arch/x86/xen/xen-ops.h
-index fd0fec6e92f4..9a8bb972193d 100644
---- a/arch/x86/xen/xen-ops.h
-+++ b/arch/x86/xen/xen-ops.h
-@@ -10,10 +10,10 @@
- /* These are code, but not functions.  Defined in entry.S */
- extern const char xen_failsafe_callback[];
--void xen_sysenter_target(void);
-+void xen_entry_SYSENTER_compat(void);
- #ifdef CONFIG_X86_64
--void xen_syscall_target(void);
--void xen_syscall32_target(void);
-+void xen_entry_SYSCALL_64(void);
-+void xen_entry_SYSCALL_compat(void);
- #endif
- extern void *xen_initial_gdt;
--- 
-2.35.1
-