From mboxrd@z Thu Jan 1 00:00:00 1970 From: Claudio Imbrenda Subject: [PATCH v1 1/1] VSOCK: fix loopback on big-endian systems Date: Wed, 20 Jun 2018 15:51:51 +0200 Message-ID: <1529502711-8028-1-git-send-email-imbrenda@linux.vnet.ibm.com> Cc: davem@davemloft.net, jhansen@vmware.com, cavery@redhat.com, borntraeger@de.ibm.com, fiuczy@linux.ibm.com, linux-kernel@vger.kernel.org, netdev@vger.kernel.org To: stefanha@redhat.com Return-path: Sender: linux-kernel-owner@vger.kernel.org List-Id: netdev.vger.kernel.org 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 --- net/vmw_vsock/virtio_transport.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/vmw_vsock/virtio_transport.c b/net/vmw_vsock/virtio_transport.c index 8e03bd3..5d3cce9 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) -- 2.7.4