On 21/04/2017 02:49, David Matlack wrote: > > 4 of the EPT access tests reveal KVM bugs (4.11-rc6, on a Haswell CPU): > vmx_ept_access_test_execute_only > vmx_ept_access_test_paddr_not_present_ad_disabled > vmx_ept_access_test_paddr_read_only_ad_disabled > vmx_ept_access_test_paddr_read_execute_ad_disabled These are the failure I get: FAIL vmx_ept_access_test_execute_only (164 tests, 6 unexpected failures) FAIL vmx_ept_access_test_paddr_not_present_ad_enabled (65 tests, 3 unexpected failures) FAIL vmx_ept_access_test_paddr_read_only_ad_disabled (timeout; duration=90s) FAIL vmx_ept_access_test_paddr_read_only_ad_enabled (175 tests, 9 unexpected failures) FAIL vmx_ept_access_test_paddr_read_execute_ad_disabled (timeout; duration=90s) FAIL vmx_ept_access_test_paddr_read_execute_ad_enabled (175 tests, 9 unexpected failures) The problem is that there is the tests have no comment explaining what is being tested. For example in ept_access_test_paddr_read_only_ad_enabled they are all like this: EPT_VLT_RD unexpected FAIL: x86/vmx_tests.c:2124: Expectation failed: (expected_qual) == (qual) LHS: 0x000000000000008a - 0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'1000'1010 - 138 RHS: 0x000000000000008b - 0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'1000'1011 - 139 STACK: 4072ad 407a00 407acc 407be6 401a9c 403653 4002d2 and it's not obvious what is the difference between them without looking at the source. The problem is that, when only one of them is broken, it's not clear which one it is. Please make sure that prefix push/pop is used consistently around each subtest; it's okay to do it on top of these patches, so I've placed them in the next branch of kvm-unit-tests.git. In this case, in addition, the exit qualification comes straight from the processor, so I think the failures are a testcase bug: "If such an access causes an EPT violation, the processor sets both bit 0 and bit 1 of the exit qualification", footnote 1 of table 27-7 "Exit Qualification for EPT Violations". Paolo