PrintError("Special Page fault handler returned error for address: %p\n", (void *)fault_addr);
return -1;
}
- } else {
+ } else if (shdw_reg->flags.write == 1) {
PrintDebug("Shadow PTE Write Error\n");
shadow_pte->writable = guest_pte->writable;
}
PrintError("Special Page fault handler returned error for address: %p\n", (void *)fault_addr);
return -1;
}
- } else {
+ } else if (shdw_reg->flags.write == 1) {
PrintDebug("Shadow PTE Write Error\n");
shadow_pte->writable = guest_pte->writable;
}
}
-
- // Write hooks trump all, and are set Read Only
if (shdw_reg->flags.write == 0) {
shadow_pte->writable = 0;
}
PrintError("Special Page fault handler returned error for address: %p\n", (void *)fault_addr);
return -1;
}
- } else {
+ } else if (shdw_reg->flags.write == 1) {
PrintDebug("Shadow PTE Write Error\n");
shadow_pte->writable = guest_pte->writable;
}
PrintError("Special Page fault handler returned error for address: %p\n", (void *)fault_addr);
return -1;
}
- } else {
+ } else if (shdw_reg->flags.write == 1) {
PrintDebug("Shadow PTE Write Error\n");
shadow_pte->writable = guest_pte->writable;
}