aboutsummaryrefslogtreecommitdiffstats
path: root/xen/common/kernel.c
diff options
context:
space:
mode:
authorkfraser@localhost.localdomain <kfraser@localhost.localdomain>2007-06-20 15:29:53 +0100
committerkfraser@localhost.localdomain <kfraser@localhost.localdomain>2007-06-20 15:29:53 +0100
commitb7954cc5983140272e6a96e34e6de6e8674018e1 (patch)
tree5dbeb278065b2b9ebe7b70945a240657f8ccb592 /xen/common/kernel.c
parent6f23c61e5df5a18d58e0c92d8eab24f3cb62e8d1 (diff)
downloadxen-b7954cc5983140272e6a96e34e6de6e8674018e1.tar.gz
xen-b7954cc5983140272e6a96e34e6de6e8674018e1.tar.bz2
xen-b7954cc5983140272e6a96e34e6de6e8674018e1.zip
Enhance guest memory accessor macros so that source operands can be
pointers to const or arrays. Only build-tested on ia64, and untested for powerpc (which, however, is almost identical to ia64, except for an apparent bug in the original version of __copy_field_{from,to}_guest in that the field offset was multiplied by the field size). Signed-off-by: Jan Beulich <jbeulich@novell.com>
Diffstat (limited to 'xen/common/kernel.c')
-rw-r--r--xen/common/kernel.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/xen/common/kernel.c b/xen/common/kernel.c
index a4dbc618e0..f8e4f11a0e 100644
--- a/xen/common/kernel.c
+++ b/xen/common/kernel.c
@@ -142,7 +142,7 @@ DO(xen_version)(int cmd, XEN_GUEST_HANDLE(void) arg)
{
xen_extraversion_t extraversion;
safe_strcpy(extraversion, xen_extra_version());
- if ( copy_to_guest(arg, (char *)extraversion, sizeof(extraversion)) )
+ if ( copy_to_guest(arg, extraversion, ARRAY_SIZE(extraversion)) )
return -EFAULT;
return 0;
}
@@ -167,7 +167,7 @@ DO(xen_version)(int cmd, XEN_GUEST_HANDLE(void) arg)
memset(info, 0, sizeof(info));
arch_get_xen_caps(&info);
- if ( copy_to_guest(arg, (char *)info, sizeof(info)) )
+ if ( copy_to_guest(arg, info, ARRAY_SIZE(info)) )
return -EFAULT;
return 0;
}
@@ -187,7 +187,7 @@ DO(xen_version)(int cmd, XEN_GUEST_HANDLE(void) arg)
{
xen_changeset_info_t chgset;
safe_strcpy(chgset, xen_changeset());
- if ( copy_to_guest(arg, (char *)chgset, sizeof(chgset)) )
+ if ( copy_to_guest(arg, chgset, ARRAY_SIZE(chgset)) )
return -EFAULT;
return 0;
}
@@ -229,8 +229,8 @@ DO(xen_version)(int cmd, XEN_GUEST_HANDLE(void) arg)
case XENVER_guest_handle:
{
- if ( copy_to_guest(arg, (char *)current->domain->handle,
- sizeof(current->domain->handle)) )
+ if ( copy_to_guest(arg, current->domain->handle,
+ ARRAY_SIZE(current->domain->handle)) )
return -EFAULT;
return 0;
}