diff options
author | Faisal Latif <faisal.latif@intel.com> | 2009-12-09 15:54:18 -0800 |
---|---|---|
committer | Roland Dreier <rolandd@cisco.com> | 2009-12-09 15:54:18 -0800 |
commit | 886f98a31586fd560fe83c44ad72e3ebe62f8e2e (patch) | |
tree | c0579b102cd6814f6aaa4f0bde6ba204bfeb03f1 /drivers/infiniband/core/ucma.c | |
parent | f9f3f1e08b4d66bfda2a0c2d49a26c80489a0725 (diff) | |
download | blackbird-obmc-linux-886f98a31586fd560fe83c44ad72e3ebe62f8e2e.tar.gz blackbird-obmc-linux-886f98a31586fd560fe83c44ad72e3ebe62f8e2e.zip |
RDMA/nes: Fix Xansation test crash on cm_node ref_count
While running a Xansation test, an active side node crashed. The
problem started on the passive side, which generated an STtag that was
0. The passive side sent a TERMINATE instead of an MPA REJECT msg.
The active side, receives TERMINATE and sends connect_err() and set
the cm_node state to CLOSED. The passive side sends FIN + ACK after
TERMINATE. Active side ends up in handle_ack_pkt() and send_reset().
send_reset() consumes 1 cm_node's ref_count. Because the cm_node is
in CLOSED state, which means that cm_node will be destroyed after
completion of the connect_err() indication, CM will crash after
send_reset().
Signed-off-by: Faisal Latif <faisal.latif@intel.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Diffstat (limited to 'drivers/infiniband/core/ucma.c')
0 files changed, 0 insertions, 0 deletions