25 Feb, 2018

1 commit

  • [ Upstream commit c9d3fe9da094a9a7a3d3cd365b334b822e05f5e8 ]

    Since commit 3b4477d2dcf2709d0be89e2a8dced3d0f4a017f2 ("VSOCK: use TCP
    state constants for sk_state") VSOCK has used TCP_* constants for
    sk_state.

    Commit b4562ca7925a3bedada87a3dd072dd5bad043288 ("hv_sock: add locking
    in the open/close/release code paths") reintroduced the SS_DISCONNECTING
    constant.

    This patch replaces the old SS_DISCONNECTING with the new TCP_CLOSING
    constant.

    CC: Dexuan Cui
    CC: Cathy Avery
    Signed-off-by: Stefan Hajnoczi
    Reviewed-by: Jorgen Hansen
    Signed-off-by: David S. Miller
    Signed-off-by: Sasha Levin
    Signed-off-by: Greg Kroah-Hartman

    Stefan Hajnoczi
     

21 Oct, 2017

1 commit

  • Without the patch, when hvs_open_connection() hasn't completely established
    a connection (e.g. it has changed sk->sk_state to SS_CONNECTED, but hasn't
    inserted the sock into the connected queue), vsock_stream_connect() may see
    the sk_state change and return the connection to the userspace, and next
    when the userspace closes the connection quickly, hvs_release() may not see
    the connection in the connected queue; finally hvs_open_connection()
    inserts the connection into the queue, but we won't be able to purge the
    connection for ever.

    Signed-off-by: Dexuan Cui
    Cc: K. Y. Srinivasan
    Cc: Haiyang Zhang
    Cc: Stephen Hemminger
    Cc: Vitaly Kuznetsov
    Cc: Cathy Avery
    Cc: Rolf Neugebauer
    Cc: Marcelo Cerri
    Signed-off-by: David S. Miller

    Dexuan Cui
     

29 Aug, 2017

1 commit

  • Hyper-V Sockets (hv_sock) supplies a byte-stream based communication
    mechanism between the host and the guest. It uses VMBus ringbuffer as the
    transportation layer.

    With hv_sock, applications between the host (Windows 10, Windows Server
    2016 or newer) and the guest can talk with each other using the traditional
    socket APIs.

    More info about Hyper-V Sockets is available here:

    "Make your own integration services":
    https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/user-guide/make-integration-service

    The patch implements the necessary support in Linux guest by introducing a new
    vsock transport for AF_VSOCK.

    Signed-off-by: Dexuan Cui
    Cc: K. Y. Srinivasan
    Cc: Haiyang Zhang
    Cc: Stephen Hemminger
    Cc: Andy King
    Cc: Dmitry Torokhov
    Cc: George Zhang
    Cc: Jorgen Hansen
    Cc: Reilly Grant
    Cc: Asias He
    Cc: Stefan Hajnoczi
    Cc: Vitaly Kuznetsov
    Cc: Cathy Avery
    Cc: Rolf Neugebauer
    Cc: Marcelo Cerri
    Signed-off-by: David S. Miller

    Dexuan Cui