On Mon, Oct 25, 2021 at 11:35:18AM -0500, Michael Roth wrote: > As counter-intuitive as it sounds, it actually doesn't buy us if the CPUID > table is part of the PSP attestation report, since: Thanks for taking the time to explain in detail - I think I know now what's going on, and David explained some additional stuff to me yesterday. So, to cut to the chase: - yeah, ok, I guess guest owner attestation is what should happen. - as to the boot detection, I think you should do in sme_enable(), in pseudo: bool snp_guest_detected; if (CPUID page address) { read SEV_STATUS; snp_guest_detected = SEV_STATUS & MSR_AMD64_SEV_SNP_ENABLED; } /* old SME/SEV detection path */ read 0x8000_001F_EAX and look at bits SME and SEV, yadda yadda. if (snp_guest_detected && (!SME || !SEV)) /* * HV is lying to me, do something there, dunno what. I guess we can * continue booting unencrypted so that the guest owner knows that * detection has failed and maybe the HV didn't want us to force SNP. * This way, attestation will fail and the user will know why. * Or something like that. */ /* normal feature detection continues. */ How does that sound? -- Regards/Gruss, Boris. https://people.kernel.org/tglx/notes-about-netiquette