From: Peng Tao Date: Thu, 8 Dec 2016 17:10:46 +0000 (+0800) Subject: vhost-vsock: fix orphan connection reset X-Git-Tag: v4.8.15~20 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=eceab1fd7f9ef1f3f906be1b2cb67a62e45c25d2;p=thirdparty%2Fkernel%2Fstable.git vhost-vsock: fix orphan connection reset commit c4587631c7bad47c045e081d1553cd73a23be59a upstream. local_addr.svm_cid is host cid. We should check guest cid instead, which is remote_addr.svm_cid. Otherwise we end up resetting all connections to all guests. Reviewed-by: Stefan Hajnoczi Signed-off-by: Peng Tao Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/vhost/vsock.c b/drivers/vhost/vsock.c index e3b30ea9ece59..a504e2e003da5 100644 --- a/drivers/vhost/vsock.c +++ b/drivers/vhost/vsock.c @@ -506,7 +506,7 @@ static void vhost_vsock_reset_orphans(struct sock *sk) * executing. */ - if (!vhost_vsock_get(vsk->local_addr.svm_cid)) { + if (!vhost_vsock_get(vsk->remote_addr.svm_cid)) { sock_set_flag(sk, SOCK_DONE); vsk->peer_shutdown = SHUTDOWN_MASK; sk->sk_state = SS_UNCONNECTED;