• Sagi Grimberg's avatar
    IB/iser: Fix memory regions possible leak · 6606e6a2
    Sagi Grimberg authored
    When teardown process starts during live IO, we need to keep the
    memory regions pool (frmr/fmr) until all in-flight tasks are properly
    released, since each task may return a memory region to the pool. In
    order to do this, we pass a destroy flag to iser_free_ib_conn_res to
    indicate we can destroy the device and the memory regions
    pool. iser_conn_release will pass it as true and also DEVICE_REMOVAL
    event (we need to let the device to properly remove).
    
    Also, Since we conditionally call iser_free_rx_descriptors,
    remove the extra check on iser_conn->rx_descs.
    
    Fixes: 5426b171 ("IB/iser: Collapse cleanup and disconnect handlers")
    Reported-by: default avatarOr Gerlitz <ogerlitz@mellanox.com>
    Signed-off-by: default avatarSagi Grimberg <sagig@mellanox.com>
    Signed-off-by: default avatarRoland Dreier <roland@purestorage.com>
    6606e6a2
iser_verbs.c 36 KB