• Joern Engel's avatar
    target: Avoid double list_del for aborted se_tmr_req · b8a11d73
    Joern Engel authored
    After the list_del() in core_tmr_drain_tmr_list(),
    core_tmr_release_req() would list_del() the same object again.
    
    Call graph:
            core_tmr_drain_tmr_list
            transport_cmd_finish_abort_tmr
            transport_generic_remove
            transport_free_se_cmd
            core_tmr_release_req
    
    So use list_del_init(), as list_del() of an initialized list_head is
    safe and essentially a nop.  In the CONFIG_DEBUG_LIST case, list_del()
    actually poisons the list_head, but that is fine as we free the object
    directly afterwards.
    Signed-off-by: default avatarJoern Engel <joern@logfs.org>
    Cc: stable@kernel.org
    Signed-off-by: default avatarNicholas Bellinger <nab@risingtidesystems.com>
    b8a11d73
target_core_tmr.c 13 KB