]> Pileus Git - ~andy/linux/commit
RDMA/iwcm: Reject connect requests if cmid is not in LISTEN state
authorSteve Wise <swise@opengridcomputing.com>
Wed, 7 Mar 2012 22:48:11 +0000 (16:48 -0600)
committerRoland Dreier <roland@purestorage.com>
Wed, 7 Mar 2012 23:14:53 +0000 (15:14 -0800)
commit3eae7c9f97415ac1f5ab5db4eeb03cde689eb427
treefa29c0cc9e465395808607cc9506445ba7473729
parent8154c07fe14e387c5a7c7f2eb70534813634e45e
RDMA/iwcm: Reject connect requests if cmid is not in LISTEN state

When destroying a listening cmid, the iwcm first marks the state of
the cmid as DESTROYING, then releases the lock and calls into the
iWARP provider to destroy the endpoint.  Since the cmid is not locked,
its possible for the iWARP provider to pass a connection request event
to the iwcm, which will be silently dropped by the iwcm.  This causes
the iWARP provider to never free up the resources from this connection
because the assumption is the iwcm will accept or reject this connection.

The solution is to reject these connection requests.

Signed-off-by: Steve Wise <swise@opengridcomputing.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
drivers/infiniband/core/iwcm.c