[PATCH v3 00/14] Improvements for (nested) SVM testing

Yosry Ahmed
2025-11-10T23:27:12Z

This is a combined v2/v3 of the patch series in [1] and [2], with a
couple of extra changes.

The series mostly includes fixups and cleanups, and more importantly new
tests for selective CR0 write intercepts and LBRV, which cover bugs
recently fixed by [3] and [4].

Patches 1-2 are unrelated fixups outside of SVM that I just included
here instead of submitting separately out of pure laziness.

Patches 3-8 are cleanups and refactoring.

Patch 9 deflakes svm_tsc_scale_test in a not-so-sophisticated way.

Patches 10-11 generalize the existing selective CR0 intercept tests and
extend them with new test cases.

Patches 12-13 cleanup the existing LBRV tests and extend them with new
test cases.

Patch 14 is a rename to some of VMCB fields to match recent renames in
KVM [5]. This is the last patch is in the series also due to laziness.

I realize that the patch ordering is a mess, and I can rebase and
reorder if it actually matters to anyone.

[1]https://lore.kernel.org/kvm/20251028221213.1937120-1-yosry.ahmed@linux.dev/
[2]https://lore.kernel.org/kvm/20251104193016.3408754-1-yosry.ahmed@linux.dev/
[3]https://lore.kernel.org/kvm/20251024192918.3191141-1-yosry.ahmed@linux.dev/
[4]https://lore.kernel.org/kvm/20251108004524.1600006-1-yosry.ahmed@linux.dev/
[5]https://lore.kernel.org/kvm/20251110222922.613224-1-yosry.ahmed@linux.dev/

Yosry Ahmed (14):
scripts: Always return '2' when skipping tests
x86/vmx: Skip vmx_pf_exception_test_fep early if FEP is not available
x86/svm: Cleanup selective cr0 write intercept test
x86/svm: Move CR0 selective write intercept test near CR3 intercept
x86/svm: Add FEP helpers for SVM tests
x86/svm: Report unsupported SVM tests
x86/svm: Move report_svm_guest() to the top of svm_tests.c
x86/svm: Print SVM test names before running tests
x86/svm: Deflake svm_tsc_scale_test
x86/svm: Generalize and improve selective CR0 write intercept test
x86/svm: Add more selective CR0 write and LMSW test cases
x86/svm: Cleanup LBRV tests
x86/svm: Add more LBRV test cases
x86/svm: Rename VMCB fields to match KVM

lib/x86/desc.h | 8 +
scripts/runtime.bash | 4 +-
x86/svm.c | 12 +-
x86/svm.h | 7 +-
x86/svm_tests.c | 402 +++++++++++++++++++++++++++++--------------
x86/vmx_tests.c | 5 +-
6 files changed, 303 insertions(+), 135 deletions(-)

--
2.51.2.1041.gc1ab5b90ca-goog