diff options
author | Jorgen Hansen <jhansen@vmware.com> | 2016-04-05 04:59:32 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-04-06 16:39:09 -0400 |
commit | 8ab18d71de8b07d2c4d6f984b718418c09ea45c5 (patch) | |
tree | da4cda935f436aa8beeba79bd6d384084b61de9b | |
parent | 52f95bbfcf72126a9f90a386a974fcbe6c6cae46 (diff) |
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 <georgezhang@vmware.com>
Signed-off-by: Jorgen Hansen <jhansen@vmware.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | net/vmw_vsock/vmci_transport.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/vmw_vsock/vmci_transport.c b/net/vmw_vsock/vmci_transport.c index 0a369bb440e7..662bdd20a748 100644 --- a/net/vmw_vsock/vmci_transport.c +++ b/net/vmw_vsock/vmci_transport.c | |||
@@ -842,7 +842,7 @@ static void vmci_transport_peer_detach_cb(u32 sub_id, | |||
842 | * qp_handle. | 842 | * qp_handle. |
843 | */ | 843 | */ |
844 | if (vmci_handle_is_invalid(e_payload->handle) || | 844 | if (vmci_handle_is_invalid(e_payload->handle) || |
845 | vmci_handle_is_equal(trans->qp_handle, e_payload->handle)) | 845 | !vmci_handle_is_equal(trans->qp_handle, e_payload->handle)) |
846 | return; | 846 | return; |
847 | 847 | ||
848 | /* We don't ask for delayed CBs when we subscribe to this event (we | 848 | /* We don't ask for delayed CBs when we subscribe to this event (we |
@@ -2154,7 +2154,7 @@ module_exit(vmci_transport_exit); | |||
2154 | 2154 | ||
2155 | MODULE_AUTHOR("VMware, Inc."); | 2155 | MODULE_AUTHOR("VMware, Inc."); |
2156 | MODULE_DESCRIPTION("VMCI transport for Virtual Sockets"); | 2156 | MODULE_DESCRIPTION("VMCI transport for Virtual Sockets"); |
2157 | MODULE_VERSION("1.0.2.0-k"); | 2157 | MODULE_VERSION("1.0.3.0-k"); |
2158 | MODULE_LICENSE("GPL v2"); | 2158 | MODULE_LICENSE("GPL v2"); |
2159 | MODULE_ALIAS("vmware_vsock"); | 2159 | MODULE_ALIAS("vmware_vsock"); |
2160 | MODULE_ALIAS_NETPROTO(PF_VSOCK); | 2160 | MODULE_ALIAS_NETPROTO(PF_VSOCK); |