test_ept_eptp is not explicitly calling setup_dummy_ept() to initialize EPTP to a good starting value resulting in test failures when it is called in isolation or when EPTP has been changed by some previous test. Signed-off-by: Cathy Avery <cavery@xxxxxxxxxx> --- x86/vmx_tests.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/x86/vmx_tests.c b/x86/vmx_tests.c index 0dab98e..617f9dd 100644 --- a/x86/vmx_tests.c +++ b/x86/vmx_tests.c @@ -4714,12 +4714,11 @@ static void test_ept_eptp(void) { u32 primary_saved = vmcs_read(CPU_EXEC_CTRL0); u32 secondary_saved = vmcs_read(CPU_EXEC_CTRL1); - u64 eptp_saved = vmcs_read(EPTP); u32 primary = primary_saved; u32 secondary = secondary_saved; - u64 eptp = eptp_saved; u32 i, maxphysaddr; u64 j, resv_bits_mask = 0; + u64 eptp_saved, eptp; if (!((ctrl_cpu_rev[0].clr & CPU_SECONDARY) && (ctrl_cpu_rev[1].clr & CPU_EPT))) { @@ -4727,6 +4726,9 @@ static void test_ept_eptp(void) return; } + setup_dummy_ept(); + eptp = eptp_saved = vmcs_read(EPTP); + /* Support for 4-level EPT is mandatory. */ report(is_4_level_ept_supported(), "4-level EPT support check"); -- 2.31.1