[SRU][Trusty][PATCH 3/3] VSOCK: Detach QP check should filter out non matching QPs.

Eric Desrochers eric.desrochers at canonical.com
Tue Jul 31 13:50:00 UTC 2018


BugLink: https://bugs.launchpad.net/bugs/1780470

The check in vmci_transport_peer_detach_cb should only allow a
detach when the qp handle of the transport matches the one in
the detach message.

Testing: Before this change, a detach from a peer on a different
socket would cause an active stream socket to register a detach.

Reviewed-by: George Zhang <georgezhang at vmware.com>
Signed-off-by: Jorgen Hansen <jhansen at vmware.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
(cherry picked from 8ab18d71de8b07d2c4d6f984b718418c09ea45c5)
Signed-off-by: Eric Desrochers <eric.desrochers at canonical.com>
---
 net/vmw_vsock/vmci_transport.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/vmw_vsock/vmci_transport.c b/net/vmw_vsock/vmci_transport.c
index 0d1fa05cc8ed..e0436a962789 100644
--- a/net/vmw_vsock/vmci_transport.c
+++ b/net/vmw_vsock/vmci_transport.c
@@ -844,7 +844,7 @@ static void vmci_transport_peer_detach_cb(u32 sub_id,
 	 * qp_handle.
 	 */
 	if (vmci_handle_is_invalid(e_payload->handle) ||
-	    vmci_handle_is_equal(trans->qp_handle, e_payload->handle))
+	    !vmci_handle_is_equal(trans->qp_handle, e_payload->handle))
 		return;
 
 	/* We don't ask for delayed CBs when we subscribe to this event (we
-- 
2.17.1





More information about the kernel-team mailing list