mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
x86/ucode: Exclude Zen6 from entrysign mitigations
Family 0x1a covers both Zen5 and Zen6, but the latter is not believed to be vulnerable to entrysign. Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> Reviewed-by: Jan Beulich <jbeulich@suse.com>
This commit is contained in:
1 parent
6db6211942
commit
bd15fdedaf
2 files changed
+8
-2
No files matched your search
@@ -20,6 +20,7 @@
|
||||
#include <xen/mm.h> /* TODO: Fix asm/tlbflush.h breakage */
|
||||
#include <xen/sha2.h>
|
||||
|
||||
#include <asm/amd.h>
|
||||
#include <asm/msr.h>
|
||||
|
||||
#include "private.h"
|
||||
@@ -576,7 +577,7 @@ void __init ucode_probe_amd(struct microcode_ops *ops)
|
||||
*/
|
||||
if ( IS_ENABLED(CONFIG_MICROCODE_LOADING) &&
|
||||
boot_cpu_data.family >= 0x17 && boot_cpu_data.family <= 0x1a &&
|
||||
!opt_digest_check )
|
||||
!is_zen6_uarch() && !opt_digest_check )
|
||||
{
|
||||
printk(XENLOG_WARNING
|
||||
"Microcode patch additional digest checks disabled\n");
|
||||
@@ -618,7 +619,8 @@ void __init amd_check_entrysign(void)
|
||||
if ( !IS_ENABLED(CONFIG_MICROCODE_LOADING) ||
|
||||
boot_cpu_data.vendor != X86_VENDOR_AMD ||
|
||||
boot_cpu_data.family < 0x17 ||
|
||||
boot_cpu_data.family > 0x1a )
|
||||
boot_cpu_data.family > 0x1a ||
|
||||
is_zen6_uarch() )
|
||||
return;
|
||||
|
||||
/*
|
||||
|
||||
@@ -59,6 +59,8 @@
|
||||
* For Zen3 and Zen4 (Fam19h) the heuristic is the presence of AutoIBRS, as
|
||||
* it's Zen4-specific.
|
||||
*
|
||||
* For Zen5 and Zen6 (Fam1ah) the heuristic is the presence of FRED.
|
||||
*
|
||||
* The caller is required to perform the appropriate vendor/family checks
|
||||
* first.
|
||||
*/
|
||||
@@ -66,6 +68,8 @@
|
||||
#define is_zen2_uarch() boot_cpu_has(X86_FEATURE_AMD_STIBP)
|
||||
#define is_zen3_uarch() (!boot_cpu_has(X86_FEATURE_AUTO_IBRS))
|
||||
#define is_zen4_uarch() boot_cpu_has(X86_FEATURE_AUTO_IBRS)
|
||||
#define is_zen5_uarch() (!boot_cpu_has(X86_FEATURE_FRED))
|
||||
#define is_zen6_uarch() boot_cpu_has(X86_FEATURE_FRED)
|
||||
|
||||
struct cpuinfo_x86;
|
||||
int cpu_has_amd_erratum(const struct cpuinfo_x86 *cpu, int osvw_id, ...);
|
||||
|
||||