OSDN Git Service

KVM: arm/arm64: Ensure only THP is candidate for adjustment
authorPunit Agrawal <punit.agrawal@arm.com>
Mon, 1 Oct 2018 15:54:35 +0000 (16:54 +0100)
committerMarc Zyngier <marc.zyngier@arm.com>
Wed, 3 Oct 2018 10:49:34 +0000 (11:49 +0100)
commitfd2ef358282c849c193aa36dadbf4f07f7dcd29b
treedde5e7ca7af0fb3f461c015d1c7d7665e8a00de5
parentf0725345e3e127032376e4fcb6b0fc893237fcef
KVM: arm/arm64: Ensure only THP is candidate for adjustment

PageTransCompoundMap() returns true for hugetlbfs and THP
hugepages. This behaviour incorrectly leads to stage 2 faults for
unsupported hugepage sizes (e.g., 64K hugepage with 4K pages) to be
treated as THP faults.

Tighten the check to filter out hugetlbfs pages. This also leads to
consistently mapping all unsupported hugepage sizes as PTE level
entries at stage 2.

Signed-off-by: Punit Agrawal <punit.agrawal@arm.com>
Reviewed-by: Suzuki Poulose <suzuki.poulose@arm.com>
Cc: Christoffer Dall <christoffer.dall@arm.com>
Cc: Marc Zyngier <marc.zyngier@arm.com>
Cc: stable@vger.kernel.org # v4.13+
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
virt/kvm/arm/mmu.c