From: Jorgen Hansen Date: Tue, 5 Apr 2016 08:59:32 +0000 (-0700) Subject: VSOCK: Detach QP check should filter out non matching QPs. X-Git-Tag: v4.1.12-92~120^2~1 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=6a16948929fceec947c7e7f2fbddf760d3f7d26f;p=users%2Fjedix%2Flinux-maple.git VSOCK: Detach QP check should filter out non matching QPs. 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 Signed-off-by: Jorgen Hansen Signed-off-by: David S. Miller (cherry picked from commit 8ab18d71de8b07d2c4d6f984b718418c09ea45c5) Signed-off-by: Dan Duval (cherry picked from commit 3cab04cb1262c0f6119e95a998d8f0ce3b0dd09f) Orabug: 23718522 Signed-off-by: Manjunath Govindashetty --- diff --git a/net/vmw_vsock/vmci_transport.c b/net/vmw_vsock/vmci_transport.c index dfaa0117d17e..e9dc394edcef 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 @@ -2156,7 +2156,7 @@ module_exit(vmci_transport_exit); MODULE_AUTHOR("VMware, Inc."); MODULE_DESCRIPTION("VMCI transport for Virtual Sockets"); -MODULE_VERSION("1.0.2.0-k"); +MODULE_VERSION("1.0.3.0-k"); MODULE_LICENSE("GPL v2"); MODULE_ALIAS("vmware_vsock"); MODULE_ALIAS_NETPROTO(PF_VSOCK);