[PATCH v2 0/7] KVM: selftests: Fixes for ucall pool + page_fault_test
Oliver Upton
oliver.upton at linux.dev
Thu Dec 8 17:52:59 PST 2022
The combination of the pool-based ucall implementation + page_fault_test
resulted in some 'fun' bugs. As has always been the case, KVM selftests
is a house of cards.
Small series to fix up the issues on kvm/queue. Patches 1-2 can probably
be squashed into Paolo's merge resolution, if desired.
Tested on Ampere Altra and a Skylake box, since there was a decent
amount of munging in architecture-generic code.
v1 -> v2:
- Collect R-b from Sean (thanks!)
- Use a common routine for split and contiguous VA spaces, with
commentary on why arm64 is different since we all get to look at it
now. (Sean)
- Don't identity map the ucall MMIO hole
- Fix an off-by-one issue in the accounting of virtual memory,
discovered in fighting with #2
- Fix an infinite loop in ucall_alloc(), discovered fighting with the
ucall_init() v. kvm_vm_elf_load() ordering issue
Mark Brown (1):
KVM: selftests: Fix build due to ucall_uninit() removal
Oliver Upton (6):
KVM: selftests: Setup ucall after loading program into guest memory
KVM: selftests: Mark correct page as mapped in virt_map()
KVM: selftests: Correctly initialize the VA space for TTBR0_EL1
KVM: arm64: selftests: Don't identity map the ucall MMIO hole
KVM: selftests: Allocate ucall pool from MEM_REGION_DATA
KVM: selftests: Avoid infinite loop if ucall_alloc() fails
.../selftests/kvm/aarch64/page_fault_test.c | 9 +++-
.../selftests/kvm/include/kvm_util_base.h | 1 +
.../testing/selftests/kvm/lib/aarch64/ucall.c | 6 ++-
tools/testing/selftests/kvm/lib/kvm_util.c | 53 ++++++++++++++++---
.../testing/selftests/kvm/lib/ucall_common.c | 14 +++--
5 files changed, 68 insertions(+), 15 deletions(-)
base-commit: 89b2395859651113375101bb07cd6340b1ba3637
--
2.39.0.rc1.256.g54fd8350bd-goog
More information about the linux-arm-kernel
mailing list