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

RE: [Xen-ia64-devel] stack corruption creating idle domain



On Wed, 2006-01-25 at 09:54 +0800, Tian, Kevin wrote:

>       I don't quite catch you in above sentence. What's the problematic
> value for r13 in your case? Ideally r13 is initialized to init_task in
> very early setup in head.S. Then later it's referred further as
> idle_vcpu[0]. It's harmless to clear switch stack and pt_regs area for
> idle vcpu0 at that point. So you may need to figure out where r13 is
> getting changed before that point.

Hi Kevin,

   I don't have the actual values right now, but if this doesn't make
sense I'll do a better job of documenting the exact values tomorrow.  As
an example, lets say r13 is 0x1000 and r12 is 0x2000.  The memset in
init_switch_stacks would be something like memset(0x1d00, 0, 0x400),
therefore clearing anything on the stack.  When we get back from the
memset, we pull a pointer off the stack (which is now zero) and page
fault storing to an offset from the zero'd pointer.  So it seems like
maybe the size of the structure used to setup r13 doesn't match what
we're using later.  Does that make more sense?  Thanks,

        Alex


_______________________________________________
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®.