KVM: x86: Add BUILD_BUG_ON() to detect bad usage of "scattered" flags
authorSean Christopherson <seanjc@google.com>
Fri, 25 Nov 2022 12:58:38 +0000 (20:58 +0800)
committerPaolo Bonzini <pbonzini@redhat.com>
Mon, 28 Nov 2022 18:33:25 +0000 (13:33 -0500)
commitc4690d016182d271a862767145db8b2bc792f4a8
treefcd1642b971fb2eda321154a67ee7a81e6131138
parent7927e27549d3f02354233a9ab3f28e0080ede29b
KVM: x86: Add BUILD_BUG_ON() to detect bad usage of "scattered" flags

Add a compile-time assert in the SF() macro to detect improper usage,
i.e. to detect passing in an X86_FEATURE_* flag that isn't actually
scattered by the kernel.  Upcoming feature flags will be 100% KVM-only
and will have X86_FEATURE_* macros that point at a kvm_only_cpuid_leafs
word, not a kernel-defined word.  Using SF() and thus boot_cpu_has() for
such feature flags would access memory beyond x86_capability[NCAPINTS]
and at best incorrectly hide a feature, and at worst leak kernel state to
userspace.

Signed-off-by: Sean Christopherson <seanjc@google.com>
Message-Id: <20221125125845.1182922-2-jiaxi.chen@linux.intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/cpuid.c