* [PATCH 06/11] RDMA/nes: abnormal listener termination causes loopback node crash @ 2009-12-09 22:41 Faisal Latif 2009-12-10 7:15 ` Or Gerlitz 0 siblings, 1 reply; 4+ messages in thread From: Faisal Latif @ 2009-12-09 22:41 UTC (permalink / raw) To: Roland Dreier; +Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA when listener is destroyed for loopback connection, listener node is getting reset event. This causes crash as listener is not expecting reset event. Code review of cm_event_reset() durring debugging showed the cm_id ref count in incrementing after calling its event handler and not before. Signed-off-by: Faisal Latif <faisal.latif-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> --- drivers/infiniband/hw/nes/nes_cm.c | 16 +++------------- 1 files changed, 3 insertions(+), 13 deletions(-) diff --git a/drivers/infiniband/hw/nes/nes_cm.c b/drivers/infiniband/hw/nes/nes_cm.c index ec04786..20e21f1 100644 --- a/drivers/infiniband/hw/nes/nes_cm.c +++ b/drivers/infiniband/hw/nes/nes_cm.c @@ -1014,18 +1014,6 @@ static int mini_cm_dec_refcnt_listen(struct nes_cm_core *cm_core, cm_node->state = NES_CM_STATE_LISTENER_DESTROYED; loopback->state = NES_CM_STATE_CLOSED; - event.cm_node = cm_node; - event.cm_info.rem_addr = - cm_node->rem_addr; - event.cm_info.loc_addr = - cm_node->loc_addr; - event.cm_info.rem_port = - cm_node->rem_port; - event.cm_info.loc_port = - cm_node->loc_port; - event.cm_info.cm_id = cm_node->cm_id; - cm_event_reset(&event); - rem_ref_cm_node(cm_node->cm_core, cm_node); @@ -3440,6 +3428,8 @@ static void cm_event_reset(struct nes_cm_event *event) nes_debug(NES_DBG_CM, "%p - cm_id = %p\n", event->cm_node, cm_id); nesqp = cm_id->provider_data; + if (!nesqp) + return; nesqp->cm_id = NULL; /* cm_id->provider_data = NULL; */ @@ -3451,8 +3441,8 @@ static void cm_event_reset(struct nes_cm_event *event) cm_event.private_data = NULL; cm_event.private_data_len = 0; - ret = cm_id->event_handler(cm_id, &cm_event); cm_id->add_ref(cm_id); + ret = cm_id->event_handler(cm_id, &cm_event); atomic_inc(&cm_closes); cm_event.event = IW_CM_EVENT_CLOSE; cm_event.status = IW_CM_EVENT_STATUS_OK; -- 1.5.3.3 -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 06/11] RDMA/nes: abnormal listener termination causes loopback node crash 2009-12-09 22:41 [PATCH 06/11] RDMA/nes: abnormal listener termination causes loopback node crash Faisal Latif @ 2009-12-10 7:15 ` Or Gerlitz [not found] ` <4B20A00C.1070607-smomgflXvOZWk0Htik3J/w@public.gmane.org> 0 siblings, 1 reply; 4+ messages in thread From: Or Gerlitz @ 2009-12-10 7:15 UTC (permalink / raw) To: Faisal Latif, Steve Wise; +Cc: Roland Dreier, linux-rdma-u79uwXL29TY76Z2rM5mHXA Faisal Latif wrote: > when listener is destroyed for loopback connection Does the upstream iwarp stack supports loopback connections? does it apply to all vendors? Or. -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 4+ messages in thread
[parent not found: <4B20A00C.1070607-smomgflXvOZWk0Htik3J/w@public.gmane.org>]
* RE: [PATCH 06/11] RDMA/nes: abnormal listener termination causes loopback node crash [not found] ` <4B20A00C.1070607-smomgflXvOZWk0Htik3J/w@public.gmane.org> @ 2009-12-10 10:44 ` Tung, Chien Tin 2009-12-10 15:21 ` Steve Wise 1 sibling, 0 replies; 4+ messages in thread From: Tung, Chien Tin @ 2009-12-10 10:44 UTC (permalink / raw) To: Or Gerlitz, Latif, Faisal, Steve Wise Cc: Roland Dreier, linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org >Faisal Latif wrote: >> when listener is destroyed for loopback connection >Does the upstream iwarp stack supports loopback connections? Yes. > does it apply to all vendors? Yes but Chelsio handles loopback differently from Intel/NetEffect. This topic came up before, see: http://lists.openfabrics.org/pipermail/general/2009-July/060542.html http://lists.openfabrics.org/pipermail/general/2009-July/060548.html Chien -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 06/11] RDMA/nes: abnormal listener termination causes loopback node crash [not found] ` <4B20A00C.1070607-smomgflXvOZWk0Htik3J/w@public.gmane.org> 2009-12-10 10:44 ` Tung, Chien Tin @ 2009-12-10 15:21 ` Steve Wise 1 sibling, 0 replies; 4+ messages in thread From: Steve Wise @ 2009-12-10 15:21 UTC (permalink / raw) To: Or Gerlitz; +Cc: Faisal Latif, Roland Dreier, linux-rdma-u79uwXL29TY76Z2rM5mHXA Or Gerlitz wrote: > Faisal Latif wrote: >> when listener is destroyed for loopback connection > Does the upstream iwarp stack supports loopback connections? does it > apply to all vendors? > > Or. Loopback support is provider-specific. There is no software iwarp loopback, if that's what your asking. But the upstream core code doesn't prohibit providers from supporting hw-loopback connections. Steve. -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2009-12-10 15:21 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-12-09 22:41 [PATCH 06/11] RDMA/nes: abnormal listener termination causes loopback node crash Faisal Latif
2009-12-10 7:15 ` Or Gerlitz
[not found] ` <4B20A00C.1070607-smomgflXvOZWk0Htik3J/w@public.gmane.org>
2009-12-10 10:44 ` Tung, Chien Tin
2009-12-10 15:21 ` Steve Wise
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox