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. Cc: stable at vger.kernel.org [4.8+] Reviewed-by: Stefan Hajnoczi <stefanha at redhat.com> Signed-off-by: Peng Tao <bergwolf at gmail.com> --- resending because the last attempt looks to be dropped by vger. drivers/vhost/vsock.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/vhost/vsock.c b/drivers/vhost/vsock.c index e3b30ea..a504e2e0 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; -- 2.7.4
David Miller
2016-Dec-09 02:25 UTC
[PATCH-RESEND] vhost-vsock: fix orphan connection reset
From: Peng Tao <bergwolf at gmail.com> Date: Fri, 9 Dec 2016 01:10:46 +0800> 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. > > Cc: stable at vger.kernel.org [4.8+] > Reviewed-by: Stefan Hajnoczi <stefanha at redhat.com> > Signed-off-by: Peng Tao <bergwolf at gmail.com>Applied and queued up for -stable, thanks.
Reasonably Related Threads
- [PATCH-RESEND] vhost-vsock: fix orphan connection reset
- [PATCH] vhost-vsock: fix orphan connection reset
- [PATCH] vhost-vsock: fix orphan connection reset
- [PATCH v4 2/4] vhost-vsock: add pkt cancel capability
- [PATCH v4 2/4] vhost-vsock: add pkt cancel capability