aboutsummaryrefslogtreecommitdiff
path: root/drivers/lguest/hypercalls.c
diff options
context:
space:
mode:
authorJes Sorensen <jes@sgi.com>2007-10-22 10:56:22 +1000
committerRusty Russell <rusty@rustcorp.com.au>2007-10-23 15:49:48 +1000
commit891ff65ff50bb6affdaebb2cda3a4c58a6442b4d (patch)
tree737603293be49ce612e05fa49ec00a75e1b501a1 /drivers/lguest/hypercalls.c
parentbabed5c00225f109d6ebea368ad2deea2abcce32 (diff)
Use copy_to_user() not put_user for struct timespec
Use copy_to_user() when copying a struct timespec to the guest - put_user() cannot handle two long's in one go on a 64bit arch. Signed-off-by: Jes Sorensen <jes@sgi.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Cc: Jes Sorensen <jes@sgi.com> Cc: Al Viro <viro@ftp.linux.org.uk>
Diffstat (limited to 'drivers/lguest/hypercalls.c')
-rw-r--r--drivers/lguest/hypercalls.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/lguest/hypercalls.c b/drivers/lguest/hypercalls.c
index db6caace3b9..5ecd60b5420 100644
--- a/drivers/lguest/hypercalls.c
+++ b/drivers/lguest/hypercalls.c
@@ -295,6 +295,6 @@ void write_timestamp(struct lguest *lg)
{
struct timespec now;
ktime_get_real_ts(&now);
- if (put_user(now, &lg->lguest_data->time))
+ if (copy_to_user(&lg->lguest_data->time, &now, sizeof(struct timespec)))
kill_guest(lg, "Writing timestamp");
}