On 1/15/2024 5:58 PM, Yuan Yao wrote:[...]
On Thu, Dec 21, 2023 at 09:02:35AM -0500, Yang Weijiang wrote:
Oops, should be : incpt || !guest_cpuid_has(vcpu, X86_FEATURE_LM)Looks this leading to MSR_IA32_INT_SSP_TAB not interceptedYes, theoretically it's possible, how about changing it as below?
after below steps:
Step 1. User space set cpuid w/ X86_FEATURE_LM, w/ SHSTK.
Step 2. User space set cpuid w/o X86_FEATURE_LM, w/o SHSTK.
Then MSR_IA32_INT_SSP_TAB won't be intercepted even w/o SHSTK
on guest cpuid, will this lead to inconsistency when do
rdmsr(MSR_IA32_INT_SSP_TAB) from guest in this scenario ?
vmx_set_intercept_for_msr(vcpu, MSR_IA32_INT_SSP_TAB,
MSR_TYPE_RW,
incpt | !guest_cpuid_has(vcpu, X86_FEATURE_LM));