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

[Xen-devel] [PATCH] fix xspy stack corruption



This was fun to find... we were unlucky enough for the corruption to
zero out the bottom 2 bytes of the saved %ebp.

regards,
john

# HG changeset patch
# User john.levon@xxxxxxx
# Node ID 09a9fd49601b9b5315843eb62ad7798ccb0ccd0d
# Parent  2a7a46dd3bd6a600deee21990aef41456cba9724
Fix stack corruption in the libxs python interface. domid_t is a short;
instead use uint32_t like we do in xc.c.

Signed-off-by: John Levon <john.levon@xxxxxxx>

diff -r 2a7a46dd3bd6 -r 09a9fd49601b tools/python/xen/lowlevel/xs/xs.c
--- a/tools/python/xen/lowlevel/xs/xs.c Thu Apr 13 11:26:01 2006 +0100
+++ b/tools/python/xen/lowlevel/xs/xs.c Thu Apr 13 09:17:48 2006 -0700
@@ -589,7 +589,7 @@ static PyObject *xspy_transaction_end(Xs
 
 static PyObject *xspy_introduce_domain(XsHandle *self, PyObject *args)
 {
-    domid_t dom;
+    uint32_t dom;
     unsigned long page;
     unsigned int port;
 
@@ -620,7 +620,7 @@ static PyObject *xspy_introduce_domain(X
 
 static PyObject *xspy_release_domain(XsHandle *self, PyObject *args)
 {
-    domid_t dom;
+    uint32_t dom;
 
     struct xs_handle *xh = xshandle(self);
     bool result = 0;
@@ -677,7 +677,7 @@ static PyObject *xspy_get_domain_path(Xs
 static PyObject *xspy_get_domain_path(XsHandle *self, PyObject *args)
 {
     struct xs_handle *xh = xshandle(self);
-    int domid;
+    uint32_t domid;
     char *xsval;
 
     if (!xh)

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


 


Rackspace

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