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

[Xen-ia64-devel] [PATCH] fix stack corruption bug on ia64



Hi Keir,

   This is an outstanding fix for the xen-ia64-unstable tree.  Dan
suggested I send it to you directly for xen-unstable to make sure it
gets in for 3.0.1.  The memset in init_switch_stack is overwriting the
processor stack.  We need to avoid manipulating the switch stack area of
the currently running cpu.  Original patch by Kevin Tian.  Thanks,

        Alex


Signed-off-by: Alex Williamson <alex.williamson@xxxxxx>
---

--- a/xen/arch/ia64/xen/domain.c        Tue Jan 31 17:39:35 2006
+++ b/xen/arch/ia64/xen/domain.c        Tue Jan 31 10:37:25 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


 


Rackspace

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