summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Wang <jasowang@redhat.com>2017-07-14 20:08:18 +0800
committerMichael Roth <mdroth@linux.vnet.ibm.com>2017-08-24 18:07:16 -0500
commit9527514ceb2383f269927cf81e604597078a0684 (patch)
tree128fed0e6857552bdd3420f6a3487f0183d4dc7d
parent2a7526b0ce649b5c3b06790b9ea7a7b318d38ef4 (diff)
downloadqemu-9527514ceb2383f269927cf81e604597078a0684.tar.gz
virtio-net: fix offload ctrl endian
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>
-rw-r--r--hw/net/virtio-net.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
index 98bd683f31..7695f75b1f 100644
--- a/hw/net/virtio-net.c
+++ b/hw/net/virtio-net.c
@@ -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;
}