diff --git a/[refs] b/[refs] index 4b22bacb6bac..af444c11d410 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d21225ee2b6fa9f7669526927f2e0bedebd90940 +refs/heads/master: 68a99f6d37aa65e848e09ec6ea52848e93bd5de2 diff --git a/trunk/drivers/kvm/mmu.c b/trunk/drivers/kvm/mmu.c index 4118e504e647..c6f972914f08 100644 --- a/trunk/drivers/kvm/mmu.c +++ b/trunk/drivers/kvm/mmu.c @@ -820,9 +820,9 @@ static void mmu_alloc_roots(struct kvm_vcpu *vcpu) hpa_t root = vcpu->mmu.root_hpa; ASSERT(!VALID_PAGE(root)); - root = kvm_mmu_get_page(vcpu, root_gfn, 0, - PT64_ROOT_LEVEL, 0, NULL)->page_hpa; - page = page_header(root); + page = kvm_mmu_get_page(vcpu, root_gfn, 0, + PT64_ROOT_LEVEL, 0, NULL); + root = page->page_hpa; ++page->root_count; vcpu->mmu.root_hpa = root; return; @@ -836,10 +836,10 @@ static void mmu_alloc_roots(struct kvm_vcpu *vcpu) root_gfn = vcpu->pdptrs[i] >> PAGE_SHIFT; else if (vcpu->mmu.root_level == 0) root_gfn = 0; - root = kvm_mmu_get_page(vcpu, root_gfn, i << 30, + page = kvm_mmu_get_page(vcpu, root_gfn, i << 30, PT32_ROOT_LEVEL, !is_paging(vcpu), - NULL)->page_hpa; - page = page_header(root); + NULL); + root = page->page_hpa; ++page->root_count; vcpu->mmu.pae_root[i] = root | PT_PRESENT_MASK; }