struct kvm_mmu_memory_cache *gfn_array_cache;
 };
 
-static struct kvm_mmu_page *kvm_mmu_alloc_shadow_page(struct kvm_vcpu *vcpu,
+static struct kvm_mmu_page *kvm_mmu_alloc_shadow_page(struct kvm *kvm,
                                                      struct shadow_page_caches *caches,
                                                      gfn_t gfn,
                                                      struct hlist_head *sp_list,
         * depends on valid pages being added to the head of the list.  See
         * comments in kvm_zap_obsolete_pages().
         */
-       sp->mmu_valid_gen = vcpu->kvm->arch.mmu_valid_gen;
-       list_add(&sp->link, &vcpu->kvm->arch.active_mmu_pages);
-       kvm_mod_used_mmu_pages(vcpu->kvm, +1);
+       sp->mmu_valid_gen = kvm->arch.mmu_valid_gen;
+       list_add(&sp->link, &kvm->arch.active_mmu_pages);
+       kvm_mod_used_mmu_pages(kvm, +1);
 
        sp->gfn = gfn;
        sp->role = role;
        hlist_add_head(&sp->hash_link, sp_list);
        if (sp_has_gptes(sp))
-               account_shadowed(vcpu->kvm, sp);
+               account_shadowed(kvm, sp);
 
        return sp;
 }
        sp = kvm_mmu_find_shadow_page(vcpu, gfn, sp_list, role);
        if (!sp) {
                created = true;
-               sp = kvm_mmu_alloc_shadow_page(vcpu, caches, gfn, sp_list, role);
+               sp = kvm_mmu_alloc_shadow_page(vcpu->kvm, caches, gfn, sp_list, role);
        }
 
        trace_kvm_mmu_get_page(sp, created);