File xsa471-15.patch of Package xen.39862
# Commit 7c5025394dafe4b788ff9e1afc688f6becab9300
# Date 2025-07-08 15:08:08 +0100
# Author Andrew Cooper <andrew.cooper3@citrix.com>
# Committer Andrew Cooper <andrew.cooper3@citrix.com>
x86/cpu-policy: Rearrange guest_common_*_feature_adjustments()
Turn the if()s into switch()es, as we're going to need AMD sections.
Move the RTM adjustments into the Intel section, where they ought to live.
No functional change.
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
--- a/xen/arch/x86/cpu-policy.c
+++ b/xen/arch/x86/cpu-policy.c
@@ -420,8 +420,9 @@ static void __init guest_common_feature_
if ( host_cpu_policy.feat.ibrsb )
__set_bit(X86_FEATURE_IBPB, fs);
- if ( boot_cpu_data.x86_vendor == X86_VENDOR_INTEL )
+ switch ( boot_cpu_data.x86_vendor )
{
+ case X86_VENDOR_INTEL:
/*
* These bits indicate that the VERW instruction may have gained
* scrubbing side effects. With pooling, they mean "you might migrate
@@ -432,22 +433,23 @@ static void __init guest_common_feature_
__set_bit(X86_FEATURE_MD_CLEAR, fs);
__set_bit(X86_FEATURE_FB_CLEAR, fs);
__set_bit(X86_FEATURE_RFDS_CLEAR, fs);
- }
- /*
- * To mitigate Native-BHI, one option is to use a TSX Abort on capable
- * systems. This is safe even if RTM has been disabled for other reasons
- * via MSR_TSX_{CTRL,FORCE_ABORT}. However, a guest kernel doesn't get to
- * know this type of information.
- *
- * Therefore the meaning of RTM_ALWAYS_ABORT has been adjusted, to instead
- * mean "XBEGIN won't fault". This is enough for a guest kernel to make
- * an informed choice WRT mitigating Native-BHI.
- *
- * If RTM-capable, we can run a VM which has seen RTM_ALWAYS_ABORT.
- */
- if ( test_bit(X86_FEATURE_RTM, fs) )
- __set_bit(X86_FEATURE_RTM_ALWAYS_ABORT, fs);
+ /*
+ * To mitigate Native-BHI, one option is to use a TSX Abort on capable
+ * systems. This is safe even if RTM has been disabled for other
+ * reasons via MSR_TSX_{CTRL,FORCE_ABORT}. However, a guest kernel
+ * doesn't get to know this type of information.
+ *
+ * Therefore the meaning of RTM_ALWAYS_ABORT has been adjusted, to
+ * instead mean "XBEGIN won't fault". This is enough for a guest
+ * kernel to make an informed choice WRT mitigating Native-BHI.
+ *
+ * If RTM-capable, we can run a VM which has seen RTM_ALWAYS_ABORT.
+ */
+ if ( test_bit(X86_FEATURE_RTM, fs) )
+ __set_bit(X86_FEATURE_RTM_ALWAYS_ABORT, fs);
+ break;
+ }
}
static void __init calculate_pv_max_policy(void)