Keir,
I guess this patch does the right thing regarding the copy of the
runstate_memory_area without breaking the ABI.
Thanks,
--
Glauber de Oliveira Costa
Red Hat Inc.
"Free as in Freedom"
--- xen-unstable/xen/arch/x86/domain.c.old 2006-10-04 01:39:48.000000000
-0300
+++ xen-unstable/xen/arch/x86/domain.c 2006-10-20 15:08:46.000000000 -0300
@@ -376,6 +376,7 @@ arch_do_vcpu_op(
case VCPUOP_register_runstate_memory_area:
{
struct vcpu_register_runstate_memory_area area;
+ struct vcpu_runstate_info runstate;
rc = -EFAULT;
if ( copy_from_guest(&area, arg, 1) )
@@ -387,9 +388,9 @@ arch_do_vcpu_op(
rc = 0;
v->runstate_guest = area.addr.v;
- if ( v == current )
- __copy_to_user(v->runstate_guest, &v->runstate,
- sizeof(v->runstate));
+ vcpu_runstate_get(v,&runstate);
+ __copy_to_user(v->runstate_guest, &runstate,
+ sizeof(runstate));
break;
}
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|