Re: [PATCH] put_user() on struct is not nice
On Wed, Sep 26, 2007 at 12:05:46PM +1000, Rusty Russell wrote: > On Wed, 2007-09-26 at 01:54 +0100, Al Viro wrote: > > use copy_to_user() instead... > > Thanks Al, Jes sent me the same fix which I have queued for for 2.6.24: OK, decision on urgency is up to you - post .23 is fine by me... - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] put_user() on struct is not nice
On Wed, 2007-09-26 at 01:54 +0100, Al Viro wrote: > use copy_to_user() instead... Thanks Al, Jes sent me the same fix which I have queued for for 2.6.24: From: Jes Sorensen <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> Signed-off-by: Rusty Russell <[EMAIL PROTECTED]> --- drivers/lguest/hypercalls.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) === --- linux-2.6.23-rc4.orig/drivers/lguest/hypercalls.c +++ linux-2.6.23-rc4/drivers/lguest/hypercalls.c @@ -243,6 +243,6 @@ void write_timestamp(struct lguest *lg) { struct timespec now; ktime_get_real_ts(); - if (put_user(now, >lguest_data->time)) + if (copy_to_user(>lguest_data->time, , sizeof(struct timespec))) kill_guest(lg, "Writing timestamp"); } - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] put_user() on struct is not nice
On Wed, 2007-09-26 at 01:54 +0100, Al Viro wrote: use copy_to_user() instead... Thanks Al, Jes sent me the same fix which I have queued for for 2.6.24: From: Jes Sorensen [EMAIL PROTECTED] 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 [EMAIL PROTECTED] Signed-off-by: Rusty Russell [EMAIL PROTECTED] --- drivers/lguest/hypercalls.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) === --- linux-2.6.23-rc4.orig/drivers/lguest/hypercalls.c +++ linux-2.6.23-rc4/drivers/lguest/hypercalls.c @@ -243,6 +243,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); } - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] put_user() on struct is not nice
On Wed, Sep 26, 2007 at 12:05:46PM +1000, Rusty Russell wrote: On Wed, 2007-09-26 at 01:54 +0100, Al Viro wrote: use copy_to_user() instead... Thanks Al, Jes sent me the same fix which I have queued for for 2.6.24: OK, decision on urgency is up to you - post .23 is fine by me... - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/