[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] [XEN] Fix page-fault handler to fall back to shadow-mode fault path if
# 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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |