[PATCH v2 0/4] KVM: selftests: aarch64: page_fault_test S1PTW related fixes

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

 



Commit 406504c7b040 ("KVM: arm64: Fix S1PTW handling on RO memslots")
changed the way S1PTW faults were handled by KVM.  Before this fix,
KVM treated any fault due to any S1PTW as a write, even S1PTW that
didn't update the PTE.  Some tests in page_fault_test mistakenly check
for this KVM behavior and are currently failing.  For example, there's
a dirty log test that asserts that a S1PTW without AF or DA results in
the PTE page getting dirty.

The first commit fixes the userfaultfd check by relaxing all read vs.
write checks.  The second commit fixes the dirtylog tests by only
asserting dirty bits when the AF bit is set.  The third commit fixes
an issue found after fixing the previous two: the dirty log test was
checking for the first page in the PT region.  Finally, commit "KVM:
arm64: Fix S1PTW handling on RO memslots" allows for having readonly
memslots holding page tables, so commit 4 add tests for it.

Changes from v1:
- added sha1's for commit "KVM: arm64: Fix S1PTW handling on RO
  memslots" in all messages. (Oliver)
- removed _with_af from RO macro. (Oliver)

Ricardo Koller (4):
  KVM: selftests: aarch64: Relax userfaultfd read vs. write checks
  KVM: selftests: aarch64: Do not default to dirty PTE pages on all
    S1PTWs
  KVM: selftests: aarch64: Fix check of dirty log PT write
  KVM: selftests: aarch64: Test read-only PT memory regions

 .../selftests/kvm/aarch64/page_fault_test.c   | 187 ++++++++++--------
 1 file changed, 103 insertions(+), 84 deletions(-)

-- 
2.39.1.456.gfc5497dd1b-goog




[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