• Mike Christie's avatar
    [SCSI] libiscsi: fix nop response/reply and session cleanup race · 26013ad4
    Mike Christie authored
    If we are responding to a nop from the target by sending our nop,
    and the session is getting torn down, then iscsi_start_session_recovery
    could set the conn stop bits while the recv path is sending the nop
    response and we will hit the bug ons in __iscsi_conn_send_pdu.
    
    This has us check the state in __iscsi_conn_send_pdu and fail all
    incoming mgmt IO if we are  not logged in and if the pdu is not login
    related. It also changes the ordering of the setting of conn stop state
    bits so they are set after the session state is set (both are set under
    the session lock).
    Signed-off-by: default avatarMike Christie <michaelc@cs.wisc.edu>
    Signed-off-by: default avatarJames Bottomley <James.Bottomley@HansenPartnership.com>
    26013ad4
libiscsi.c 76.6 KB