On Tue, 27 Jun 2023 23:54:05 +0000, Oliver Upton wrote:
Userspace is allowed to select any PAGE_SIZE aligned hva to back guest memory. This is even the case with hugepages, although it is a rather suboptimal configuration as PTE level mappings are used at stage-2.
The arm64 page aging handlers have an assumption that the specified range is exactly one page/block of memory, which in the aforementioned case is not necessarily true. All together this leads to the WARN() in kvm_age_gfn() firing.
[...]
Applied to kvmarm/fixes, with Marc's suggestion to add a comment around the -EAGAIN path to indicate it is impossible while holding the MMU lock for write.
[1/1] KVM: arm64: Correctly handle page aging notifiers for unaligned memslot https://git.kernel.org/kvmarm/kvmarm/c/df6556adf27b
-- Best, Oliver