target/i386: Add TSA feature flag verw-clear
Transient Scheduler Attacks (TSA) are new speculative side channel attacks related to the execution timing of instructions under specific microarchitectural conditions. In some cases, an attacker may be able to use this timing information to infer data from other contexts, resulting in information leakage CPUID Fn8000_0021 EAX[5] (VERW_CLEAR). If this bit is 1, the memory form of the VERW instruction may be used to help mitigate TSA. Link: https://www.amd.com/content/dam/amd/en/documents/resources/bulletin/technical-guidance-for-mitigating-transient-scheduler-attacks.pdf Co-developed-by: Borislav Petkov (AMD) <bp@alien8.de> Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de> Signed-off-by: Babu Moger <babu.moger@amd.com> Reviewed-by: Xiaoyao Li <xiaoyao.li@intel.com> Reviewed-by: Zhao Liu <zhao1.liu@intel.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Link: https://lore.kernel.org/r/e6362672e3a67a9df661a8f46598335a1a2d2754.1752176771.git.babu.moger@amd.com Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
c79a35acad
commit
d8ec0baf4a
2 changed files with 3 additions and 1 deletions
|
|
@ -1397,7 +1397,7 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] = {
|
|||
.type = CPUID_FEATURE_WORD,
|
||||
.feat_names = {
|
||||
"no-nested-data-bp", "fs-gs-base-ns", "lfence-always-serializing", NULL,
|
||||
NULL, NULL, "null-sel-clr-base", NULL,
|
||||
NULL, "verw-clear", "null-sel-clr-base", NULL,
|
||||
"auto-ibrs", NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL,
|
||||
|
|
|
|||
|
|
@ -1104,6 +1104,8 @@ uint64_t x86_cpu_get_supported_feature_word(X86CPU *cpu, FeatureWord w);
|
|||
#define CPUID_8000_0021_EAX_FS_GS_BASE_NS (1U << 1)
|
||||
/* LFENCE is always serializing */
|
||||
#define CPUID_8000_0021_EAX_LFENCE_ALWAYS_SERIALIZING (1U << 2)
|
||||
/* Memory form of VERW mitigates TSA */
|
||||
#define CPUID_8000_0021_EAX_VERW_CLEAR (1U << 5)
|
||||
/* Null Selector Clears Base */
|
||||
#define CPUID_8000_0021_EAX_NULL_SEL_CLR_BASE (1U << 6)
|
||||
/* Automatic IBRS */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue