hv_sock: set VMADDR_CID_HOST in the hvs_remote_addr_init()
authorStefano Garzarella <sgarzare@redhat.com>
Thu, 14 Nov 2019 09:57:45 +0000 (10:57 +0100)
committerDavid S. Miller <davem@davemloft.net>
Fri, 15 Nov 2019 02:12:18 +0000 (18:12 -0800)
Remote peer is always the host, so we set VMADDR_CID_HOST as
remote CID instead of VMADDR_CID_ANY.

Reviewed-by: Dexuan Cui <decui@microsoft.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/vmw_vsock/hyperv_transport.c

index 7d0a972a14280a305c4e5d3878a7119b3c008ebc..22b608805a91e25bb3c7616302e45d2e61721e20 100644 (file)
@@ -188,7 +188,8 @@ static void hvs_remote_addr_init(struct sockaddr_vm *remote,
        static u32 host_ephemeral_port = MIN_HOST_EPHEMERAL_PORT;
        struct sock *sk;
 
-       vsock_addr_init(remote, VMADDR_CID_ANY, VMADDR_PORT_ANY);
+       /* Remote peer is always the host */
+       vsock_addr_init(remote, VMADDR_CID_HOST, VMADDR_PORT_ANY);
 
        while (1) {
                /* Wrap around ? */