Re: [PATCH v2 21/21] KVM:x86: Support CET supervisor shadow stack MSR access

From: Yang, Weijiang
Date: Wed May 03 2023 - 21:21:21 EST



On 5/4/2023 1:07 AM, Edgecombe, Rick P wrote:
On Fri, 2023-04-21 at 09:46 -0400, Yang Weijiang wrote:
+
+       incpt = !is_cet_state_supported(vcpu,
XFEATURE_MASK_CET_KERNEL);
+       incpt |= !guest_cpuid_has(vcpu, X86_FEATURE_SHSTK);
+
+       vmx_set_intercept_for_msr(vcpu, MSR_IA32_INT_SSP_TAB,
MSR_TYPE_RW, incpt);
+       vmx_set_intercept_for_msr(vcpu, MSR_IA32_PL0_SSP,
MSR_TYPE_RW, incpt);
+       vmx_set_intercept_for_msr(vcpu, MSR_IA32_PL1_SSP,
MSR_TYPE_RW, incpt);
+       vmx_set_intercept_for_msr(vcpu, MSR_IA32_PL2_SSP,
MSR_TYPE_RW, incpt);
 }
Why is this tied to XFEATURE_MASK_CET_KERNEL? I don't know how the SVM
side works, but the host kernel doesn't use this xfeature. Just not
clear on what the intention is. Why not use
kvm_cet_kernel_shstk_supported() again?

I don't know how SVM supports supervisor SHSTK either, here just follows the spec.

to add the dependency check. Maybe you're right, I need to use kvm_cet_kernel_shstk_supported()

in my patch set and leave the work to SVM enabling patches. I'll change it, thanks!