• Roi Dayan's avatar
    IB/iser: Fix device removal flow · 5b61ff43
    Roi Dayan authored
    Change the code to destroy the "last opened" rdma_cm id after making
    sure we released all other objects (QP, CQs, PD, etc) associated with
    the IB device.
    
    Since iser accesses the IB device using the rdma_cm id, we need to
    free any objects that are related to the device that is associated
    with the rdma_cm id prior to destroying that id.  When this isn't
    done, the low level driver that created this device can be unloaded
    before iser has a chance to free all the objects and a such a call may
    invoke code segment which isn't valid any more and crash.
    
    Cc: Sean Hefty <sean.hefty@intel.com
    Signed-off-by: default avatarRoi Dayan <roid@mellanox.com>
    Signed-off-by: default avatarOr Gerlitz <ogerlitz@mellanox.com>
    Signed-off-by: default avatarRoland Dreier <roland@purestorage.com>
    5b61ff43
iser_verbs.c 25.6 KB