re: qla2xxx: Add LLD target-mode infrastructure for >= 24xx series

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


Hello Nicholas,

The patch 962f988d031f: "qla2xxx: Add LLD target-mode infrastructure 
for >= 24xx series" from Mar 8, 2012, leads to the following Smatch
warning:

drivers/scsi/qla2xxx/qla_target.c:3207 qla_tgt_handle_srr_work()
	 error: potential null derefence 'vha'.


drivers/scsi/qla2xxx/qla_target.c
  3198                  imm = NULL;
  3199                  list_for_each_entry_safe(i, ti, &tgt->srr_imm_list,
  3200                                                  srr_list_entry) {
  3201                          if (i->srr_id == sctio->srr_id) {
  3202                                  list_del(&i->srr_list_entry);
  3203                                  if (imm) {
  3204                                          printk(KERN_ERR "qla_target(%d): There must "
  3205                                            "be only one IMM SRR per CTIO SRR "
  3206                                            "(IMM SRR %p, id %d, CTIO %p\n",
  3207                                            vha->vp_idx, i, i->srr_id, sctio);
                                                  ^^^
It looks like "vha" might not be initialized yet.

  3208                                          qla_tgt_reject_free_srr_imm(vha, i, 0);
  3209                                  } else
  3210                                          imm = i;
  3211                          }
  3212                  }
  3213  
  3214                  ql_dbg(ql_dbg_tgt_mgt, tgt->vha, 0xe12f, "IMM SRR %p, CTIO SRR %p (id %d)\n",
  3215                          imm, sctio, sctio->srr_id);
  3216  
  3217                  if (imm == NULL) {
  3218                          ql_dbg(ql_dbg_tgt_mgt, tgt->vha, 0xe130, "Not found matching IMM"
  3219                                  " for SRR CTIO (id %d)\n", sctio->srr_id);
  3220                          continue;
  3221                  } else
  3222                          list_del(&sctio->srr_list_entry);
  3223  
  3224                  spin_unlock_irqrestore(&tgt->srr_lock, flags);
  3225  
  3226                  cmd = sctio->cmd;
  3227                  vha = cmd->vha;
                        ^^^
It gets set here.

regards,
dan carpenter

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Photos]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

Add to Google Powered by Linux