[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] RE: about fixup_page_fault

>From: Keir Fraser [mailto:keir.fraser@xxxxxxxxxxxxx] 
>Sent: Wednesday, December 17, 2008 4:23 PM
>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.

If Xen access guest address space intentionally like a hypercall
parameter, such fix up is desired. However what about an random
illegal access in Xen with faulting address happening to fall into
guest address space?


Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.