diff mbox series

[v1,1/1] VSOCK: fix loopback on big-endian systems

Message ID 1529502711-8028-1-git-send-email-imbrenda@linux.vnet.ibm.com
State Accepted, archived
Delegated to: David Miller
Headers show
Series [v1,1/1] VSOCK: fix loopback on big-endian systems | expand

Commit Message

Claudio Imbrenda June 20, 2018, 1:51 p.m. UTC
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>
---
 net/vmw_vsock/virtio_transport.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Stefan Hajnoczi June 21, 2018, 4:07 p.m. UTC | #1
On Wed, Jun 20, 2018 at 03:51:51PM +0200, Claudio Imbrenda wrote:
> 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>
> ---
>  net/vmw_vsock/virtio_transport.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
David Miller June 22, 2018, 12:34 a.m. UTC | #2
From: Claudio Imbrenda <imbrenda@linux.vnet.ibm.com>
Date: Wed, 20 Jun 2018 15:51:51 +0200

> 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>

Applied and queued up for -stable, thank you.
diff mbox series

Patch

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)