Patch "vsock/virtio: fix src/dst cid format" has been added to the 4.8-stable tree
Subsystems (5)
This is a note to let you know that I've just added the patch titled
vsock/virtio: fix src/dst cid format
to the 4.8-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
vsock-virtio-fix-src-dst-cid-format.patch
and it can be found in the queue-4.8 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
f83f12d660d11718d3eed9d979ee03e83aa55544Mon Sep 17 00:00:00 2001
From: "Michael S. Tsirkin" <[email protected]>
Date: Tue, 6 Dec 2016 06:07:15 +0200
Subject: vsock/virtio: fix src/dst cid format
From: Michael S. Tsirkin <[email protected]>
commit f83f12d660d11718d3eed9d979ee03e83aa55544 upstream.
These fields are 64 bit, using le32_to_cpu and friends on these will not do the right thing.
Fix this up.
--- net/vmw_vsock/virtio_transport_common.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-)
net/vmw_vsock/virtio_transport_common.c +7 -7
@@ -606,9 +606,9 @@ static int virtio_transport_reset_no_socreturn 0 ; pkt =virtio_transport_alloc_pkt (&info,0 , -le32_to_cpu (pkt->hdr.dst_cid), +le64_to_cpu (pkt->hdr.dst_cid),le32_to_cpu (pkt->hdr.dst_port), -le32_to_cpu (pkt->hdr.src_cid), +le64_to_cpu (pkt->hdr.src_cid),le32_to_cpu (pkt->hdr.src_port));if (!pkt)return -ENOMEM ;
@@ -823,7 +823,7 @@ virtio_transport_send_response(struct vsstruct virtio_vsock_pkt_info info = { .op =VIRTIO_VSOCK_OP_RESPONSE , .type =VIRTIO_VSOCK_TYPE_STREAM , - .remote_cid =le32_to_cpu (pkt->hdr.src_cid), + .remote_cid =le64_to_cpu (pkt->hdr.src_cid), .remote_port =le32_to_cpu (pkt->hdr.src_port), .reply = true, };
@@ -863,9 +863,9 @@ virtio_transport_recv_listen(struct sock child->sk_state =SS_CONNECTED ; vchild =vsock_sk (child); -vsock_addr_init (&vchild->local_addr,le32_to_cpu (pkt->hdr.dst_cid), +vsock_addr_init (&vchild->local_addr,le64_to_cpu (pkt->hdr.dst_cid),le32_to_cpu (pkt->hdr.dst_port)); -vsock_addr_init (&vchild->remote_addr,le32_to_cpu (pkt->hdr.src_cid), +vsock_addr_init (&vchild->remote_addr,le64_to_cpu (pkt->hdr.src_cid),le32_to_cpu (pkt->hdr.src_port));vsock_insert_connected (vchild);
@@ -904,9 +904,9 @@ void virtio_transport_recv_pkt(struct vistruct sock *sk;bool space_available; -vsock_addr_init (&src,le32_to_cpu (pkt->hdr.src_cid), +vsock_addr_init (&src,le64_to_cpu (pkt->hdr.src_cid),le32_to_cpu (pkt->hdr.src_port)); -vsock_addr_init (&dst,le32_to_cpu (pkt->hdr.dst_cid), +vsock_addr_init (&dst,le64_to_cpu (pkt->hdr.dst_cid),le32_to_cpu (pkt->hdr.dst_port)); trace_virtio_transport_recv_pkt(src.svm_cid, src.svm_port,
Patches currently in stable-queue which might be from [email protected] are
queue-4.8/vsock-virtio-fix-src-dst-cid-format.patch