[openib-general] [PATCH] for 2-6-19 rdma/addr: use client registration to fix module unload race

Sean Hefty mshefty at ichips.intel.com
Thu Nov 2 09:03:32 PST 2006


> All active side users are fine I think.  But any client on the passive side
> currently might destroy the new ID by returning error from the callback, and I
> like this interface since it frees the resources immediately.

As long as only *newly* created (i.e. associated with a connection request) 
cm_id's are destroyed this way, we're fine.  Newly created cm_id's are 
associated with a listening cm_id.  Destruction of the listening cm_id is 
blocked while a callback for a connection request is in progress.

> Since all such passive side users currently are out of tree, I don't think
> it's urgent for us to do anything about the passive side race - but please do
> not at least break code that uses passive side in major ways just yet.

I use the callback method of destruction for new cm_id's in the ucm and ucma 
modules, so I want to keep this feature myself.  However, this method is unused, 
and likely unneeded, for events other than connection requests.  If this is the 
case, we can update the documentation, and remove this support except for new 
connections.

I looked at the existing users and didn't find any module unload races with 
either the ib_cm or rdma_cm, so I don't think that any immediate fixes are 
necessary.

- Sean




More information about the general mailing list