ia64/xen-unstable

changeset 9160:3b877779e9a3

[IA64] user process should not crash Xen.

Iip can't be used to check if domain is inside Xen because IIP is a user
register. CPL must be used instead.

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
author awilliam@xenbuild.aw
date Thu Mar 09 16:16:20 2006 -0700 (2006-03-09)
parents 6270e89e1d47
children 405f0f847c0f
files xen/arch/ia64/xen/process.c
line diff
     1.1 --- a/xen/arch/ia64/xen/process.c	Wed Mar 08 23:11:25 2006 -0700
     1.2 +++ b/xen/arch/ia64/xen/process.c	Thu Mar 09 16:16:20 2006 -0700
     1.3 @@ -286,7 +286,8 @@ void ia64_do_page_fault (unsigned long a
     1.4  		vcpu_itc_no_srlz(current,is_data?2:1,address,pteval,-1UL,(itir>>2)&0x3f);
     1.5  		return;
     1.6  	}
     1.7 -	if (IS_VMM_ADDRESS(iip)) {
     1.8 +	if (!user_mode (regs)) {
     1.9 +		/* The fault occurs inside Xen.  */
    1.10  		if (!ia64_done_with_exception(regs)) {
    1.11  			// should never happen.  If it does, region 0 addr may
    1.12  			// indicate a bad xen pointer