On Mon, Oct 17, 2022 at 07:58:20PM +0000, Ricardo Koller wrote: > This series adds a new aarch64 selftest for testing stage 2 fault handling > for various combinations of guest accesses (e.g., write, S1PTW), backing > sources (e.g., anon), and types of faults (e.g., read on hugetlbfs with a > hole, write on a readonly memslot). Each test tries a different combination > and then checks that the access results in the right behavior (e.g., uffd > faults with the right address and write/read flag). Some interesting > combinations are: I'm seeing issues with the page_fault_test tests in both -next and mainline all the way back to v6.1 when they were introduced running on both the fast model and hardware. With -next the reports come back as: # selftests: kvm: page_fault_test # ==== Test Assertion Failure ==== # aarch64/page_fault_test.c:316: __a == __b # pid=851 tid=860 errno=0 - Success # 1 0x0000000000402253: uffd_generic_handler at page_fault_test.c:316 # 2 0x000000000040be07: uffd_handler_thread_fn at userfaultfd_util.c:97 # 3 0x0000ffff8b39edd7: ?? ??:0 # 4 0x0000ffff8b407e9b: ?? ??:0 # ASSERT_EQ(!!(flags & UFFD_PAGEFAULT_FLAG_WRITE), expect_write) failed. # !!(flags & UFFD_PAGEFAULT_FLAG_WRITE) is 0 # expect_write is 0x1 not ok 6 selftests: kvm: page_fault_test # exit=254 (addr2line seemed to be not doing much, I've not poked too hard at that). I've been unable to find any case where the program passes. Is this expected? Some random full runs on hardware: 4xA53: https://lava.sirena.org.uk/scheduler/job/244678 4xA72: https://lkft.validation.linaro.org/scheduler/job/6114427
Attachment:
signature.asc
Description: PGP signature