# HG changeset patch
# User Ian.Campbell@xxxxxxxxxxxxx
# Node ID e913081f20f380c20e381deeb33d25232b36907c
# Parent cede50ca17044ac7cee52ccd708043d3b249a0cc
[LINUX] Correctly return the results of {event_channel_op,physdev_op}_compat
Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxxxxx>
---
linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/hypercall.h | 2 ++
linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/hypercall.h | 2 ++
2 files changed, 4 insertions(+)
diff -r cede50ca1704 -r e913081f20f3
linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/hypercall.h
--- a/linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/hypercall.h Mon Jun
12 18:32:47 2006 +0100
+++ b/linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/hypercall.h Tue Jun
13 10:14:20 2006 +0100
@@ -255,6 +255,7 @@ HYPERVISOR_event_channel_op(
op.cmd = cmd;
memcpy(&op.u, arg, sizeof(op.u));
rc = _hypercall1(int, event_channel_op_compat, &op);
+ memcpy(arg, &op.u, sizeof(op.u));
}
return rc;
}
@@ -290,6 +291,7 @@ HYPERVISOR_physdev_op(
op.cmd = cmd;
memcpy(&op.u, arg, sizeof(op.u));
rc = _hypercall1(int, physdev_op_compat, &op);
+ memcpy(arg, &op.u, sizeof(op.u));
}
return rc;
}
diff -r cede50ca1704 -r e913081f20f3
linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/hypercall.h
--- a/linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/hypercall.h Mon Jun
12 18:32:47 2006 +0100
+++ b/linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/hypercall.h Tue Jun
13 10:14:20 2006 +0100
@@ -253,6 +253,7 @@ HYPERVISOR_event_channel_op(
op.cmd = cmd;
memcpy(&op.u, arg, sizeof(op.u));
rc = _hypercall1(int, event_channel_op_compat, &op);
+ memcpy(arg, &op.u, sizeof(op.u));
}
return rc;
}
@@ -288,6 +289,7 @@ HYPERVISOR_physdev_op(
op.cmd = cmd;
memcpy(&op.u, arg, sizeof(op.u));
rc = _hypercall1(int, physdev_op_compat, &op);
+ memcpy(arg, &op.u, sizeof(op.u));
}
return rc;
}
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|