]> git.proxmox.com Git - mirror_qemu.git/commitdiff
virtio-net: fix offload ctrl endian
authorJason Wang <jasowang@redhat.com>
Fri, 14 Jul 2017 12:08:18 +0000 (20:08 +0800)
committerMichael Roth <mdroth@linux.vnet.ibm.com>
Thu, 24 Aug 2017 23:07:16 +0000 (18:07 -0500)
Spec said offloads should be le64, so use virtio_ldq_p() to guarantee
valid endian.

Fixes: 644c98587d4c ("virtio-net: dynamic network offloads configuration")
Cc: qemu-stable@nongnu.org
Cc: Dmitry Fleytman <dfleytma@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
(cherry picked from commit 189ae6bb5ce1f5a322f8691d00fe942ba43dd601)
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
hw/net/virtio-net.c

index 98bd683f31b51892877a3118a5df54dd99d67118..7695f75b1f7cf19f7696071b45dbceac96bc8b6e 100644 (file)
@@ -723,6 +723,8 @@ static int virtio_net_handle_offloads(VirtIONet *n, uint8_t cmd,
     if (cmd == VIRTIO_NET_CTRL_GUEST_OFFLOADS_SET) {
         uint64_t supported_offloads;
 
+        offloads = virtio_ldq_p(vdev, &offloads);
+
         if (!n->has_vnet_hdr) {
             return VIRTIO_NET_ERR;
         }