On Thu, 19 Dec 2024 17:38:58 -0800, Sean Christopherson wrote: > Fix a handful of bugs in the binary stats infrastructure, expand support > to vCPU-scoped stats, enumerate all KVM stats in selftests, and use the > enumerated stats to assert at compile-time that {vm,vcpu}_get_stat() is > getting a stat that actually exists. > > Most of the bugs are benign, and AFAICT, none actually cause problems in > the current code base. The worst of the bugs is lack of validation that > the requested stat actually exists, which is quite annoying if someone > fat fingers a stat name, tries to get a vCPU stat on a VM FD, etc. > > [...] Applied 1-7 to kvm-x86 selftests (x86 wants to build tests on the vCPU-scoped stats infrastructure). I'll hold off on the compile-time assertions stuff until there's consensus that we want to go that route for all architectures (not at all urgent). [1/8] KVM: selftests: Fix mostly theoretical leak of VM's binary stats FD https://github.com/kvm-x86/linux/commit/b68ec5b6869f [2/8] KVM: selftests: Close VM's binary stats FD when releasing VM https://github.com/kvm-x86/linux/commit/a59768d6cb64 [3/8] KVM: selftests: Assert that __vm_get_stat() actually finds a stat https://github.com/kvm-x86/linux/commit/52ef723593fe [4/8] KVM: selftests: Macrofy vm_get_stat() to auto-generate stat name string https://github.com/kvm-x86/linux/commit/7884da344973 [5/8] KVM: selftests: Add struct and helpers to wrap binary stats cache https://github.com/kvm-x86/linux/commit/384544c026f6 [6/8] KVM: selftests: Get VM's binary stats FD when opening VM https://github.com/kvm-x86/linux/commit/6d22ccb1c309 [7/8] KVM: selftests: Add infrastructure for getting vCPU binary stats https://github.com/kvm-x86/linux/commit/60d432517838 [8/8] KVM: selftests: Add compile-time assertions to guard against stats typos not applied -- https://github.com/kvm-x86/linux/tree/next