Hello Quinn Tran,
This is a semi-automatic email about new static checker warnings.
The patch 821c9f4cab5e: "scsi: qla2xxx: Cleanup NPIV host in target
mode during config teardown" from Aug 23, 2017, leads to the
following Smatch complaint:
drivers/scsi/qla2xxx/qla_target.c:1553 qlt_release()
error: we previously assumed 'vha->vha_tgt.qla_tgt' could be null (see line
1533)
drivers/scsi/qla2xxx/qla_target.c
1532
1533 if ((vha->vha_tgt.qla_tgt != NULL) && !tgt->tgt_stop &&
1534 !tgt->tgt_stopped)
1535 qlt_stop_phase1(tgt);
1536
1537 if ((vha->vha_tgt.qla_tgt != NULL) && !tgt->tgt_stopped)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Existing code assumes this can be NULL.
1538 qlt_stop_phase2(tgt);
1539
1540 for (i = 0; i < vha->hw->max_qpairs + 1; i++) {
1541 unsigned long flags;
1542
1543 h = &tgt->qphints[i];
1544 if (h->qpair) {
1545 spin_lock_irqsave(h->qpair->qp_lock_ptr, flags);
1546 list_del(&h->hint_elem);
1547 spin_unlock_irqrestore(h->qpair->qp_lock_ptr,
flags);
1548 h->qpair = NULL;
1549 }
1550 }
1551 kfree(tgt->qphints);
1552 mutex_lock(&qla_tgt_mutex);
1553 list_del(&vha->vha_tgt.qla_tgt->tgt_list_entry);\
^^^^^^^^^^^^^^^^^^^^
The patch adds a new dereference.
1554 mutex_unlock(&qla_tgt_mutex);
1555
regards,
dan carpenter