[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Re: about fixup_page_fault
On 17/12/2008 03:17, "Tian, Kevin" <kevin.tian@xxxxxxxxx> wrote: > I guess I may miss sth important, but I don't understand below > code at end of fixup_page_fault: > > if ( paging_mode_enabled(d) ) > { > int ret = paging_fault(addr, regs); > if ( ret == EXCRET_fault_fixed ) > trace_trap_two_addr(TRC_PV_PAGING_FIXUP, regs->eip, addr); > return ret; > } > > Shouldn't a check upon guest_mode(regs) is required, since the > fault may be triggered by xen itself? For example, a null pointer > deference by xen code (not passed from guest) may not get chance > to reach "fatal page fault" and instead a guest page fault could be > injected per my reading... Consider copy_from_guest() applied to a PV guest with dirty logging enabled. The #PF handler should fix up faults when accessing guest address space via shadow page tables, even when the access happens within Xen. I haven't looked but I'm sure that the shadow code will only propagate the fault, and return EXCRET_fault_fixed, if it sees the fault occurred in guest context. -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |