diff options
author | Xiao Guangrong <xiaoguangrong@linux.vnet.ibm.com> | 2012-05-28 14:10:43 +0800 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2012-05-28 17:41:15 +0300 |
commit | c35866678391861942b3836c219a8898a259255a (patch) | |
tree | 0ed5dcd923f1228ea1385e069fb8b47c8f3d2e62 /arch/x86/kvm | |
parent | b48b2c3e50433ff6f7e46186daa7f986bd960215 (diff) | |
download | blackbird-op-linux-c35866678391861942b3836c219a8898a259255a.tar.gz blackbird-op-linux-c35866678391861942b3836c219a8898a259255a.zip |
KVM: MMU: fix huge page adapted on non-PAE host
The huge page size is 4M on non-PAE host, but 2M page size is used in
transparent_hugepage_adjust(), so the page we get after adjust the
mapping level is not the head page, the BUG_ON() will be triggered
Signed-off-by: Xiao Guangrong <xiaoguangrong@linux.vnet.ibm.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'arch/x86/kvm')
-rw-r--r-- | arch/x86/kvm/mmu.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c index 72102e0ab7cb..be3cea4407ff 100644 --- a/arch/x86/kvm/mmu.c +++ b/arch/x86/kvm/mmu.c @@ -2595,8 +2595,7 @@ static void transparent_hugepage_adjust(struct kvm_vcpu *vcpu, *gfnp = gfn; kvm_release_pfn_clean(pfn); pfn &= ~mask; - if (!get_page_unless_zero(pfn_to_page(pfn))) - BUG(); + kvm_get_pfn(pfn); *pfnp = pfn; } } |