Re: [PATCH v10 00/14] KVM: selftests: Add aarch64/page_fault_test

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Mark,

On Fri, Feb 3, 2023 at 6:49 AM Mark Brown <broonie@xxxxxxxxxx> wrote:
>
> 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:

That failure was fixed with this series:
"KVM: selftests: aarch64: page_fault_test S1PTW related fixes"
https://lore.kernel.org/kvmarm/20230127214353.245671-1-ricarkol@xxxxxxxxxx/

which made it into kvmarm/fixes and should get into 6.2:
https://lore.kernel.org/kvmarm/20230129190142.2481354-1-maz@xxxxxxxxxx/

Note that the failing assert does not exist after the mentioned series:
> #   ASSERT_EQ(!!(flags & UFFD_PAGEFAULT_FLAG_WRITE), expect_write) failed.

>
> 4xA53: https://lava.sirena.org.uk/scheduler/job/244678
> 4xA72: https://lkft.validation.linaro.org/scheduler/job/6114427

Thanks,
Ricardo



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux