[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 11:04 +0800, Tian, Kevin wrote: > > Make sense and thanks for info. We shouldn't manipulate switch stack > area for current running vcpu, since that area only makes sense when > specific vcpu is de-activated. The initial stack of idle vcpu0 starts > from point under pt_regs, and thus above memset definitely corrupts > active stack frames. Could you try whether following change working > for you? Kevin, Yes, that seems to fix the problem, or at least avoid it. xen-unstable.hg looks to be a bit out of date with xen-ia64-unstable.hg in this area. I think the patch below is effectively the same change versus xen-unstable.hg. Thanks, Alex Signed-off-by: Alex Williamson <alex.williamson@xxxxxx> --- diff -r aad2b2da3c8b xen/arch/ia64/xen/domain.c --- a/xen/arch/ia64/xen/domain.c Wed Jan 25 11:51:21 2006 +++ b/xen/arch/ia64/xen/domain.c Wed Jan 25 04:22:50 2006 @@ -157,14 +157,14 @@ if ((v = alloc_xenheap_pages(KERNEL_STACK_SIZE_ORDER)) == NULL) return NULL; memset(v, 0, sizeof(*v)); - } - - ti = alloc_thread_info(v); - /* Clear thread_info to clear some important fields, like - * preempt_count - */ - memset(ti, 0, sizeof(struct thread_info)); - init_switch_stack(v); + + ti = alloc_thread_info(v); + /* Clear thread_info to clear some important fields, like + * preempt_count + */ + memset(ti, 0, sizeof(struct thread_info)); + init_switch_stack(v); + } if (!is_idle_domain(d)) { v->arch.privregs = _______________________________________________ Xen-ia64-devel mailing list Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-ia64-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |