|
@@ -1882,7 +1882,8 @@ static int set_spte(struct kvm_vcpu *vcpu, u64 *sptep,
|
|
|
spte |= (u64)pfn << PAGE_SHIFT;
|
|
|
|
|
|
if ((pte_access & ACC_WRITE_MASK)
|
|
|
- || (write_fault && !is_write_protection(vcpu) && !user_fault)) {
|
|
|
+ || (!tdp_enabled && write_fault && !is_write_protection(vcpu)
|
|
|
+ && !user_fault)) {
|
|
|
|
|
|
if (level > PT_PAGE_TABLE_LEVEL &&
|
|
|
has_wrprotected_page(vcpu->kvm, gfn, level)) {
|