mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-10 15:10:38 +00:00
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>
This commit is contained in:
parent
40141bb480
commit
e5ab564c9e
@ -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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user