]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.0-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 28 Oct 2012 18:40:07 +0000 (11:40 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 28 Oct 2012 18:40:07 +0000 (11:40 -0700)
added patches:
vhost-fix-mergeable-bufs-on-be-hosts.patch

queue-3.0/series
queue-3.0/vhost-fix-mergeable-bufs-on-be-hosts.patch [new file with mode: 0644]

index cba6802f5e73ea57174b6412edd7fa51eca259e5..f6a759b447aed1f940caf8c5d48bc03004f7cc94 100644 (file)
@@ -23,3 +23,4 @@ usb-mos7840-fix-port-device-leak-in-error-path.patch
 usb-mos7840-remove-null-urb-submission.patch
 usb-mos7840-remove-invalid-disconnect-handling.patch
 xhci-fix-potential-null-ptr-deref-in-command-cancellation.patch
+vhost-fix-mergeable-bufs-on-be-hosts.patch
diff --git a/queue-3.0/vhost-fix-mergeable-bufs-on-be-hosts.patch b/queue-3.0/vhost-fix-mergeable-bufs-on-be-hosts.patch
new file mode 100644 (file)
index 0000000..1c798cf
--- /dev/null
@@ -0,0 +1,33 @@
+From 910a578f7e9400a78a3b13aba0b4d2df16a2cb05 Mon Sep 17 00:00:00 2001
+From: "Michael S. Tsirkin" <mst@redhat.com>
+Date: Wed, 24 Oct 2012 20:37:51 +0200
+Subject: vhost: fix mergeable bufs on BE hosts
+
+From: "Michael S. Tsirkin" <mst@redhat.com>
+
+commit 910a578f7e9400a78a3b13aba0b4d2df16a2cb05 upstream.
+
+We copy head count to a 16 bit field, this works by chance on LE but on
+BE guest gets 0. Fix it up.
+
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+Tested-by: Alexander Graf <agraf@suse.de>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/vhost/net.c |    3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/drivers/vhost/net.c
++++ b/drivers/vhost/net.c
+@@ -305,7 +305,8 @@ static void handle_rx(struct vhost_net *
+               .hdr.gso_type = VIRTIO_NET_HDR_GSO_NONE
+       };
+       size_t total_len = 0;
+-      int err, headcount, mergeable;
++      int err, mergeable;
++      s16 headcount;
+       size_t vhost_hlen, sock_hlen;
+       size_t vhost_len, sock_len;
+       /* TODO: check that we are running from vhost_worker? */