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

Re: [Xen-ia64-devel] Re: [PATCH] Fix mca handler so as not to destroy ar



On Tue, Aug 05, 2008 at 02:19:06PM +0900, Isaku Yamahata wrote:
> On Tue, Aug 05, 2008 at 12:37:17PM +0900, Isaku Yamahata wrote:
> > 
> > Hi Kazu. Sorry for late alert.
> > VIRTUAL_MODE_ENTER() still refers ar.k6.
> > Could you fix it?
> 
> One more.
> Before pinning down vpd and vhpt, it's necessary to
> make sure that they doesn't overlap with stack like __vmxswitch_rr7()
> and ia64_new_rr7().

And more.
VIRTUAL_MODE_ENTER() sets gp (r1) to ia64_os_mca_virtual_begin
and then call ia64_mca_ucmc_handler().
It this correct? It looks like that accessing global variable
in ia64_mca_ucmc_handler() results in rondom place access.

Linux has the related fix. What do you think?

commit f5a3f3dc189485d607fbd42678cc23958acc0a6e
Author: Zou Nan hai <nanhai.zou@xxxxxxxxx>
Date:   Thu Sep 14 08:25:15 2006 +0800

    [IA64] Make gp value point to Region 5 in mca handler
    
    MCA dispatch code take physical address of GP passed from SAL, then call
    DATA_PA_TO_VA twice on GP before call into C code.  The first time is
    in ia64_set_kernel_register, the second time is in VIRTUAL_MODE_ENTER.
    The gp is changed to a virtual address in region 7 because DATA_PA_TO_VA
    is implemented by dep instruction.
    
    However when notify blocks were called from MCA handler code, because
    notify blocks are supported by callback function pointers, gp value
    value was switched to region 5 again.
    
    The patch set gp register to kernel gp of region 5 at entry of MCA
    dispatch.
    
    Signed-off-by: Zou Nan hai <nanhai.zou@xxxxxxxxx>
    Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx>


-- 
yamahata

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


 


Rackspace

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