diff options
author | Claudio Imbrenda <imbrenda@linux.vnet.ibm.com> | 2018-06-20 16:51:51 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-06-22 03:34:08 +0300 |
commit | e5ab564c9ebee77794842ca7d7476147b83d6a27 (patch) | |
tree | d8980a6e8d576cc6a84807fb1925017ba1235fc4 | |
parent | 40141bb480a2c7805e8f4faec14ade90121ecb06 (diff) | |
download | linux-e5ab564c9ebee77794842ca7d7476147b83d6a27.tar.xz |
VSOCK: fix loopback on big-endian systems
The dst_cid and src_cid are 64 bits, therefore 64 bit accessors should be
used, and in fact in virtio_transport_common.c only 64 bit accessors are
used. Using 32 bit accessors for 64 bit values breaks big endian systems.
This patch fixes a wrong use of le32_to_cpu in virtio_transport_send_pkt.
Fixes: b9116823189e85ccf384 ("VSOCK: add loopback to virtio_transport")
Signed-off-by: Claudio Imbrenda <imbrenda@linux.vnet.ibm.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | net/vmw_vsock/virtio_transport.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/vmw_vsock/virtio_transport.c b/net/vmw_vsock/virtio_transport.c index 8e03bd3f3668..5d3cce9e8744 100644 --- a/net/vmw_vsock/virtio_transport.c +++ b/net/vmw_vsock/virtio_transport.c @@ -201,7 +201,7 @@ virtio_transport_send_pkt(struct virtio_vsock_pkt *pkt) return -ENODEV; } - if (le32_to_cpu(pkt->hdr.dst_cid) == vsock->guest_cid) + if (le64_to_cpu(pkt->hdr.dst_cid) == vsock->guest_cid) return virtio_transport_send_pkt_loopback(vsock, pkt); if (pkt->reply) |