OSDN Git Service

scsi: qla2xxx: Fix session lookup in qlt_abort_work()
authorBart Van Assche <bvanassche@acm.org>
Fri, 9 Aug 2019 03:01:40 +0000 (20:01 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 17 Dec 2019 19:35:24 +0000 (20:35 +0100)
[ Upstream commit ac452b8e79320c9e90c78edf32ba2d42431e4daf ]

Pass the correct session ID to find_sess_by_s_id() instead of passing an
uninitialized variable.

Cc: Himanshu Madhani <hmadhani@marvell.com>
Fixes: 2d70c103fd2a ("[SCSI] qla2xxx: Add LLD target-mode infrastructure for >= 24xx series") # v3.5.
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Tested-by: Himanshu Madhani <hmadhani@marvell.com>
Reviewed-by: Himanshu Madhani <hmadhani@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/scsi/qla2xxx/qla_target.c

index 078d124..2a03d09 100644 (file)
@@ -6062,7 +6062,6 @@ static void qlt_abort_work(struct qla_tgt *tgt,
        struct qla_hw_data *ha = vha->hw;
        struct fc_port *sess = NULL;
        unsigned long flags = 0, flags2 = 0;
-       uint32_t be_s_id;
        uint8_t s_id[3];
        int rc;
 
@@ -6075,8 +6074,7 @@ static void qlt_abort_work(struct qla_tgt *tgt,
        s_id[1] = prm->abts.fcp_hdr_le.s_id[1];
        s_id[2] = prm->abts.fcp_hdr_le.s_id[0];
 
-       sess = ha->tgt.tgt_ops->find_sess_by_s_id(vha,
-           (unsigned char *)&be_s_id);
+       sess = ha->tgt.tgt_ops->find_sess_by_s_id(vha, s_id);
        if (!sess) {
                spin_unlock_irqrestore(&ha->tgt.sess_lock, flags2);