public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] fix vhost ioctl handling for 32-bit
@ 2009-12-17 19:44 David Stevens
  2009-12-20 12:02 ` Michael S. Tsirkin
  0 siblings, 1 reply; 3+ messages in thread
From: David Stevens @ 2009-12-17 19:44 UTC (permalink / raw)
  To: mst, rusty; +Cc: kvm

[-- Attachment #1: Type: text/plain, Size: 1075 bytes --]

VHOST_GET_FEATURES returns high-order garbage on 32-bit
machines. This patch fixes it to use 64 bits throughout.

                                        +-DLS

[in-line for viewing, attached to avoid whitespace mangling]

Signed-off-by: David L Stevens <dlstevens@us.ibm.com>

--- a/drivers/vhost/net.c       2009-11-17 22:51:56.000000000 -0800
+++ b/drivers/vhost/net.c       2009-12-17 11:31:51.000000000 -0800
@@ -563,7 +563,7 @@
 {
        struct vhost_net *n = f->private_data;
        void __user *argp = (void __user *)arg;
-       u32 __user *featurep = argp;
+       u64 __user *featurep = (u64 __user *)argp;
        struct vhost_vring_file backend;
        u64 features;
        int r;
@@ -577,7 +577,7 @@
                features = VHOST_FEATURES;
                return put_user(features, featurep);
        case VHOST_SET_FEATURES:
-               r = get_user(features, featurep);
+               r = copy_from_user(&features, featurep, sizeof features);
                /* No features for now */
                if (r < 0)
                        return r;


[-- Attachment #2: VH1.patch --]
[-- Type: application/octet-stream, Size: 638 bytes --]

--- a/drivers/vhost/net.c	2009-11-17 22:51:56.000000000 -0800
+++ b/drivers/vhost/net.c	2009-12-17 11:31:51.000000000 -0800
@@ -563,7 +563,7 @@
 {
 	struct vhost_net *n = f->private_data;
 	void __user *argp = (void __user *)arg;
-	u32 __user *featurep = argp;
+	u64 __user *featurep = (u64 __user *)argp;
 	struct vhost_vring_file backend;
 	u64 features;
 	int r;
@@ -577,7 +577,7 @@
 		features = VHOST_FEATURES;
 		return put_user(features, featurep);
 	case VHOST_SET_FEATURES:
-		r = get_user(features, featurep);
+		r = copy_from_user(&features, featurep, sizeof features);
 		/* No features for now */
 		if (r < 0)
 			return r;

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2009-12-21 20:05 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-12-17 19:44 [PATCH] fix vhost ioctl handling for 32-bit David Stevens
2009-12-20 12:02 ` Michael S. Tsirkin
2009-12-21 20:05   ` David Stevens

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox