|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] [xen-unstable] [XEN] Fix page-fault handler to fall back
# HG changeset patch
# User kfraser@xxxxxxxxxxxxxxxxxxxxx
# Node ID c39d7d8379ad48a0ddc3b28f2db6e1d5d4f84da8
# Parent 41130540891e4c167aa2105b314b5068da27b267
[XEN] Fix page-fault handler to fall back to shadow-mode fault path if
writable pagetable logic fails to fix up a fault.
Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx>
---
xen/arch/x86/traps.c | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
diff -r 41130540891e -r c39d7d8379ad xen/arch/x86/traps.c
--- a/xen/arch/x86/traps.c Thu Aug 17 19:11:14 2006 +0100
+++ b/xen/arch/x86/traps.c Thu Aug 17 19:16:01 2006 +0100
@@ -888,11 +888,12 @@ static int fixup_page_fault(unsigned lon
return (spurious_page_fault(addr, regs) ? EXCRET_not_a_fault : 0);
}
- if ( likely(VM_ASSIST(d, VMASST_TYPE_writable_pagetables)) &&
+ if ( VM_ASSIST(d, VMASST_TYPE_writable_pagetables) &&
guest_kernel_mode(v, regs) &&
((regs->error_code & (PGERR_write_access|PGERR_page_present)) ==
- (PGERR_write_access|PGERR_page_present)) )
- return ptwr_do_page_fault(d, addr, regs) ? EXCRET_fault_fixed : 0;
+ (PGERR_write_access|PGERR_page_present)) &&
+ ptwr_do_page_fault(d, addr, regs) )
+ return EXCRET_fault_fixed;
if ( shadow2_mode_enabled(d) )
return shadow2_fault(addr, regs);
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] [xen-unstable] [XEN] Fix page-fault handler to fall back to shadow-mode fault path if,
Xen patchbot-unstable <=
|
|
|
|
|