WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] RE: about fixup_page_fault

To: 'Keir Fraser' <keir.fraser@xxxxxxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] RE: about fixup_page_fault
From: "Tian, Kevin" <kevin.tian@xxxxxxxxx>
Date: Wed, 17 Dec 2008 16:32:02 +0800
Accept-language: en-US
Acceptlanguage: en-US
Cc: "Yang, Xiaowei" <xiaowei.yang@xxxxxxxxx>
Delivery-date: Wed, 17 Dec 2008 00:32:32 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <C56E677D.204A6%keir.fraser@xxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <0A882F4D99BBF6449D58E61AAFD7EDD603BB496D@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> <C56E677D.204A6%keir.fraser@xxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: Aclf9g7ST2T7twmkTliVD2zN2EnoWgAKqw6yAAAPVYA=
Thread-topic: 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?

Thanks,
Kevin

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel