This patch fixes the incorrect use of __transport_register_session() in tcm_qla2xxx_check_initiator_node_acl() code, that does not perform explicit se_tpg->session_lock when accessing se_tpg->tpg_sess_list to add new se_sess nodes. Given that tcm_qla2xxx_check_initiator_node_acl() is not called with qla_hw->hardware_lock held for all accesses of ->tpg_sess_list, the code should be using transport_register_session() instead.
Unified · Split
| @@ -1596,7 +1596,7 @@ static int tcm_qla2xxx_check_initiator_node_acl( · 1595 unmodified lines | |||
| 1596 | /* | 1596 | /* |
| 1597 | * Finally register the new FC Nexus with TCM | 1597 | * Finally register the new FC Nexus with TCM |
| 1598 | */ | 1598 | */ |
| 1599 | __transport_register_session(se_nacl->se_tpg, se_nacl, se_sess, sess); | 1599 | transport_register_session(se_nacl->se_tpg, se_nacl, se_sess, sess); |
| 1600 | 1600 | ||
| 1601 | return 0; | 1601 | return 0; |
| 1602 | } | 1602 | } |