From: Ian.Campbell@xensource.com Date: Tue, 13 Jun 2006 09:14:20 +0000 (+0100) Subject: [LINUX] Correctly return the results of {event_channel_op,physdev_op}_compat X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~15972^2~4 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=c9c67d5a0288890dba450537eeeae420d9096062;p=xen.git [LINUX] Correctly return the results of {event_channel_op,physdev_op}_compat Signed-off-by: Ian Campbell --- diff --git a/linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/hypercall.h b/linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/hypercall.h index 767d293184..7de10137f1 100644 --- a/linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/hypercall.h +++ b/linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/hypercall.h @@ -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 --git a/linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/hypercall.h b/linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/hypercall.h index 12d18d39df..1bcc7901ea 100644 --- a/linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/hypercall.h +++ b/linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/hypercall.h @@ -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; }