Skip to contentSkip to conversation

Linux 4.19.289

DISCUSSION Greg Kroah-Hartman 1 participant 2 messages Jul 24, 2023 Stable branch

lore
Share & tools
lore

Greg Kroah-Hartman

author maintainer
#0 lore raw

I'm announcing the release of the 4.19.289 kernel.

All AMD processor users of the 4.19 kernel series who have not updated their microcode to the latest version, must upgrade.

The updated 4.19.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-4.19.y
and can be browsed at the normal kernel.org git web browser:
https://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary

thanks,

greg k-h

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

 Makefile                             |    2 
 arch/x86/include/asm/microcode.h     |    1 
 arch/x86/include/asm/microcode_amd.h |    2 
 arch/x86/include/asm/msr-index.h     |    1 
 arch/x86/kernel/cpu/amd.c            |  199 ++++++++++++++++++++++-------------
 arch/x86/kernel/cpu/common.c         |    2 
 arch/x86/kernel/cpu/microcode/amd.c  |    2 
 7 files changed, 135 insertions(+), 74 deletions(-)

Borislav Petkov (AMD) (3):
x86/microcode/AMD: Load late on both threads too x86/cpu/amd: Move the errata checking functionality up x86/cpu/amd: Add a Zenbleed fix

Greg Kroah-Hartman (1):

      Linux 4.19.289
author maintainer
#1 lore raw
Makefile +1 -1
index 0293da44bdcd..9af8ec084269 100644
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 4
 PATCHLEVEL = 19
-SUBLEVEL = 288
+SUBLEVEL = 289
 EXTRAVERSION =
 NAME = "People's Front"
 
arch/x86/include/asm/microcode.h +1 -0
index 8e915e3813f6..b675db12a8ab 100644
@@ -5,6 +5,7 @@
 #include <asm/cpu.h>
 #include <linux/earlycpio.h>
 #include <linux/initrd.h>
+#include <asm/microcode_amd.h>
 
 struct ucode_patch {
 	struct list_head plist;
arch/x86/include/asm/microcode_amd.h +2 -0
index a645b25ee442..403a8e76b310 100644
@@ -48,11 +48,13 @@ extern void __init load_ucode_amd_bsp(unsigned int family);
 extern void load_ucode_amd_ap(unsigned int family);
 extern int __init save_microcode_in_initrd_amd(unsigned int family);
 void reload_ucode_amd(unsigned int cpu);
+extern void amd_check_microcode(void);
 #else
 static inline void __init load_ucode_amd_bsp(unsigned int family) {}
 static inline void load_ucode_amd_ap(unsigned int family) {}
 static inline int __init
 save_microcode_in_initrd_amd(unsigned int family) { return -EINVAL; }
 static inline void reload_ucode_amd(unsigned int cpu) {}
+static inline void amd_check_microcode(void) {}
 #endif
 #endif /* _ASM_X86_MICROCODE_AMD_H */
arch/x86/include/asm/msr-index.h +1 -0
index 847f3f5820d2..d9c6603dcd63 100644
@@ -407,6 +407,7 @@
 #define MSR_AMD64_DE_CFG		0xc0011029
 #define MSR_AMD64_DE_CFG_LFENCE_SERIALIZE_BIT	 1
 #define MSR_AMD64_DE_CFG_LFENCE_SERIALIZE	BIT_ULL(MSR_AMD64_DE_CFG_LFENCE_SERIALIZE_BIT)
+#define MSR_AMD64_DE_CFG_ZEN2_FP_BACKUP_FIX_BIT 9
 
 #define MSR_AMD64_BU_CFG2		0xc001102a
 #define MSR_AMD64_IBSFETCHCTL		0xc0011030
arch/x86/kernel/cpu/amd.c +127 -72

232 lines not on this page · raw message

arch/x86/kernel/cpu/common.c +2 -0
index 55293e5dcbff..ec324be00603 100644
@@ -2077,6 +2077,8 @@ void microcode_check(void)
 
 	perf_check_microcode();
 
+	amd_check_microcode();
+
 	/* Reload CPUID max function as it might've changed. */
 	info.cpuid_level = cpuid_eax(0);
 
arch/x86/kernel/cpu/microcode/amd.c +1 -1
index b33e4fe9de19..5698e04803b5 100644
@@ -532,7 +532,7 @@ static enum ucode_state apply_microcode_amd(int cpu)
 	rdmsr(MSR_AMD64_PATCH_LEVEL, rev, dummy);
 
 	/* need to apply patch? */
-	if (rev >= mc_amd->hdr.patch_id) {
+	if (rev > mc_amd->hdr.patch_id) {
 		ret = UCODE_OK;
 		goto out;
 	}