On 14/08/19 09:04, Yang Weijiang wrote: > + /* > + * Record write protect fault caused by > + * Sub-page Protection, let VMI decide > + * the next step. > + */ > + if (spte & PT_SPP_MASK) { Should this be "if (spte & PT_WRITABLE_MASK)" instead? That is, if the page is already writable, the fault must be an SPP fault. Paolo > + fault_handled = true; > + vcpu->run->exit_reason = KVM_EXIT_SPP; > + vcpu->run->spp.addr = gva; > + kvm_skip_emulated_instruction(vcpu); > + break; > + } > + > new_spte |= PT_WRITABLE_MASK;