if (is_write && !(pde & PG_RW_MASK))
goto do_fault_protect;
} else {
- if ((env->cr[0] & CR0_WP_MASK) && (pde & PG_USER_MASK) &&
+ if ((env->cr[0] & CR0_WP_MASK) &&
is_write && !(pde & PG_RW_MASK))
goto do_fault_protect;
}
if (is_write && !(ptep & PG_RW_MASK))
goto do_fault_protect;
} else {
- if ((env->cr[0] & CR0_WP_MASK) && (ptep & PG_USER_MASK) &&
+ if ((env->cr[0] & CR0_WP_MASK) &&
is_write && !(ptep & PG_RW_MASK))
goto do_fault_protect;
}
if (ptep & PG_RW_MASK)
prot |= PROT_WRITE;
} else {
- if (!(env->cr[0] & CR0_WP_MASK) || !(ptep & PG_USER_MASK) ||
+ if (!(env->cr[0] & CR0_WP_MASK) ||
(ptep & PG_RW_MASK))
prot |= PROT_WRITE;
}