On Thu, 2016-07-28 at 00:45 +0530, Raju Rangoju wrote: > When the low level driver exercises the hot unplug they would call > rdma_cm cma_remove_one which would fire DEVICE_REMOVAL event to all > cma > consumers. Now, if consumer doesn't make sure they destroy all IB > objects created on that IB device instance prior to finalizing all > processing of DEVICE_REMOVAL callback, rdma_cm will let the lld to > de-register with IB core and destroy the IB device instance. And if > the > consumer calls (say) ib_dereg_mr(), it will crash since that dev > object > is NULL. > > In the current implementation, iser-target just initiates the cleanup > and returns from DEVICE_REMOVAL callback. This deferred work creates > a > race between iser-target cleaning IB objects(say MR) and lld > destroying > IB device instance. > > This patch includes the following fixes > -> make sure that consumer frees all IB objects associated with > device > instance > -> return non-zero from the callback to destroy the rdma_cm id This patch is missing a Signed-off-by: line and can not be accepted as it is. Please resubmit with the proper attribution. Also please reword your commit subject as it's too long. I suggest something like: IB/isert: Properly release resources on RDMA_CM_EVENT_DEVICE_REMOVAL which is still too long, but not as bad as what you have now. -- Doug Ledford <dledford@xxxxxxxxxx> GPG KeyID: 0E572FDD
Attachment:
signature.asc
Description: This is a digitally signed message part