On Tue, Apr 02, 2019 at 12:06:16PM +0100, Suzuki K Poulose wrote: > With commit a80868f398554842b14, we no longer ensure that the > THP page is properly aligned in the guest IPA. Skip the stage2 > huge mapping for unaligned IPA backed by transparent hugepages. > > Fixes: a80868f398554842b14 ("KVM: arm/arm64: Enforce PTE mappings at stage2 when needed") > Reported-by: Eric Auger <eric.auger@xxxxxxxxxx> > Cc: Marc Zyngier <marc.zyngier@xxxxxxx> > Cc: Chirstoffer Dall <christoffer.dall@xxxxxxx> > Cc: Zenghui Yu <yuzenghui@xxxxxxxxxx> > Cc: Zheng Xiang <zhengxiang9@xxxxxxxxxx> > Tested-by: Eric Auger <eric.auger@xxxxxxx> > Signed-off-by: Suzuki K Poulose <suzuki.poulose@xxxxxxx> > --- > virt/kvm/arm/mmu.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/virt/kvm/arm/mmu.c b/virt/kvm/arm/mmu.c > index 27c9583..4a22f5b 100644 > --- a/virt/kvm/arm/mmu.c > +++ b/virt/kvm/arm/mmu.c > @@ -1412,7 +1412,9 @@ static bool transparent_hugepage_adjust(kvm_pfn_t *pfnp, phys_addr_t *ipap) > * page accordingly. > */ > mask = PTRS_PER_PMD - 1; > - VM_BUG_ON((gfn & mask) != (pfn & mask)); > + /* Skip memslots with unaligned IPA and user address */ > + if ((gfn & mask) != (pfn & mask)) > + return false; > if (pfn & mask) { > *ipap &= PMD_MASK; > kvm_release_pfn_clean(pfn); > -- > 2.7.4 I was able to reproduce this issue on v5.1-rc3 on a SoftIron Overdrive 1000 (AMD Seattle (Rev.B1)) with defconfig+ARM64_64K_PAGES with: qemu-system-aarch64 -cpu host -machine type=virt,accel=kvm -nographic -smp 4 -m 4096 -kernel /boot/vmlinuz-4.9.0-7-arm64 --append "console=ttyAMA0 default_hugepagesz=2M hugepages=256" The 'default_hugepagesz=2M hugepages=256' had no effect on the reproducibility, however the guest only intermittently failed to boot. Applying the above patch fixed this and the guest boots every time. Tested-by: Andrew Murray <andrew.murray@xxxxxxx> Thanks, Andrew Murray > > _______________________________________________ > kvmarm mailing list > kvmarm@xxxxxxxxxxxxxxxxxxxxx > https://lists.cs.columbia.edu/mailman/listinfo/kvmarm _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/mailman/listinfo/kvmarm