|   | 
      | 
  
  
      | 
      | 
  
 
     | 
    | 
  
  
     | 
    | 
  
  
    |   | 
      | 
  
  
    | 
         
xen-devel
[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
 |   
 
| <Prev in Thread] | 
Current Thread | 
[Next in Thread>
 |  
- [Xen-devel] about fixup_page_fault, Tian, Kevin
- [Xen-devel] Re: about fixup_page_fault,
Keir Fraser <=
- [Xen-devel] RE: about fixup_page_fault, Tian, Kevin
- [Xen-devel] Re: about fixup_page_fault, Keir Fraser
 - [Xen-devel] RE: about fixup_page_fault, Tian, Kevin
 - [Xen-devel] Re: about fixup_page_fault, Keir Fraser
 - [Xen-devel] RE: about fixup_page_fault, Tian, Kevin
 
- [Xen-devel] RE: about fixup_page_fault, Tian, Kevin
 
- [Xen-devel] Re: about fixup_page_fault, Tim Deegan
 - [Xen-devel] Re: about fixup_page_fault, Keir Fraser
 - [Xen-devel] Re: about fixup_page_fault, Keir Fraser
 - [Xen-devel] Re: about fixup_page_fault, Tim Deegan
 
  
  
  
 
 |  
  
 | 
    | 
  
  
    |   | 
    |