}
 EXPORT_SYMBOL_GPL(kvm_hv_assist_page_enabled);
 
-bool kvm_hv_get_assist_page(struct kvm_vcpu *vcpu)
+int kvm_hv_get_assist_page(struct kvm_vcpu *vcpu)
 {
        struct kvm_vcpu_hv *hv_vcpu = to_hv_vcpu(vcpu);
 
        if (!hv_vcpu || !kvm_hv_assist_page_enabled(vcpu))
-               return false;
+               return -EFAULT;
 
-       return !kvm_read_guest_cached(vcpu->kvm, &vcpu->arch.pv_eoi.data,
-                                     &hv_vcpu->vp_assist_page, sizeof(struct hv_vp_assist_page));
+       return kvm_read_guest_cached(vcpu->kvm, &vcpu->arch.pv_eoi.data,
+                                    &hv_vcpu->vp_assist_page, sizeof(struct hv_vp_assist_page));
 }
 EXPORT_SYMBOL_GPL(kvm_hv_get_assist_page);
 
 
 void kvm_hv_vcpu_uninit(struct kvm_vcpu *vcpu);
 
 bool kvm_hv_assist_page_enabled(struct kvm_vcpu *vcpu);
-bool kvm_hv_get_assist_page(struct kvm_vcpu *vcpu);
+int kvm_hv_get_assist_page(struct kvm_vcpu *vcpu);
 
 static inline struct kvm_vcpu_hv_stimer *to_hv_stimer(struct kvm_vcpu *vcpu,
                                                      int timer_index)
 
 {
        struct kvm_vcpu_hv *hv_vcpu = to_hv_vcpu(vcpu);
 
-       if (unlikely(!kvm_hv_get_assist_page(vcpu)))
+       if (unlikely(kvm_hv_get_assist_page(vcpu)))
                return EVMPTR_INVALID;
 
        if (unlikely(!hv_vcpu->vp_assist_page.enlighten_vmentry))