EPT_VIOLATION_EXECUTABLE))
                      ? PFERR_PRESENT_MASK : 0;
 
+       vcpu->arch.gpa_available = true;
        vcpu->arch.exit_qualification = exit_qualification;
 
        return kvm_mmu_page_fault(vcpu, gpa, error_code, NULL, 0);
        }
 
        ret = handle_mmio_page_fault(vcpu, gpa, true);
+       vcpu->arch.gpa_available = true;
        if (likely(ret == RET_MMIO_PF_EMULATE))
                return x86_emulate_instruction(vcpu, gpa, 0, NULL, 0) ==
                                              EMULATE_DONE;
        u32 vectoring_info = vmx->idt_vectoring_info;
 
        trace_kvm_exit(exit_reason, vcpu, KVM_ISA_VMX);
+       vcpu->arch.gpa_available = false;
 
        /*
         * Flush logged GPAs PML buffer, this will make dirty_bitmap more