• Nicholas Bellinger's avatar
    target: Fix lookup of dynamic NodeACLs during cached demo-mode operation · fcf29481
    Nicholas Bellinger authored
    This patch fixes a bug in core_tpg_check_initiator_node_acl() ->
    core_tpg_get_initiator_node_acl() where a dynamically created
    se_node_acl generated during session login would be skipped during
    subsequent lookup due to the '!acl->dynamic_node_acl' check, causing
    a new se_node_acl to be created with a duplicate ->initiatorname.
    
    This would occur when a fabric endpoint was configured with
    TFO->tpg_check_demo_mode()=1 + TPF->tpg_check_demo_mode_cache()=1
    preventing the release of an existing se_node_acl during se_session
    shutdown.
    
    Also, drop the unnecessary usage of core_tpg_get_initiator_node_acl()
    within core_dev_init_initiator_node_lun_acl() that originally
    required the extra '!acl->dynamic_node_acl' check, and just pass
    the configfs provided se_node_acl pointer instead.
    
    Cc: <stable@vger.kernel.org>
    Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
    fcf29481
target_core_tpg.c 23.3 KB