Skip to contentSkip to conversation

qla2xxx: Add support for ISP8044.

SCSI Dan Carpenter 2 participants 2 messages Nov 1, 2013 – Nov 5, 2013 SCSI

lore
Share & tools
lore
#0 lore raw

Hello Atul Deshmukh,

This is a semi-automatic email about new static checker warnings.

The patch 7ec0effd30bb: "[SCSI] qla2xxx: Add support for ISP8044." from Aug 27, 2013, leads to the following Smatch complaint:

drivers/scsi/qla2xxx/qla_os.c:2958 qla2x00_probe_one()
error: we previously assumed 'base_vha' could be null (see line 2628)

drivers/scsi/qla2xxx/qla_os.c
2627 base_vha = qla2x00_create_host(sht, ha);

  2628		if (!base_vha) {
                    ^^^^^^^^^

Existing check.

  2629			ret = -ENOMEM;
  2630			qla2x00_mem_free(ha);
  2631			qla2x00_free_req_que(ha, req);
  2632			qla2x00_free_rsp_que(ha, rsp);
  2633			goto probe_hw_failed;
  2634		}

[ snip ]

2935 probe_failed:
2936 if (base_vha->timer_active)
2937 qla2x00_stop_timer(base_vha);
2938 base_vha->flags.online = 0;
2939 if (ha->dpc_thread) {
2940 struct task_struct *t = ha->dpc_thread;
2941
2942 ha->dpc_thread = NULL;
2943 kthread_stop(t);
2944 }
2945
2946 qla2x00_free_device(base_vha);
2947
2948 scsi_host_put(base_vha->host);
2949
2950 probe_hw_failed:
2951 if (IS_QLA82XX(ha)) {
2952 qla82xx_idc_lock(ha);
2953 qla82xx_clear_drv_active(ha);
2954 qla82xx_idc_unlock(ha);
2955 }
2956 if (IS_QLA8044(ha)) {
2957 qla8044_idc_lock(ha);

  2958			qla8044_clear_drv_active(base_vha);
                                                 ^^^^^^^^

Patch introduces new unchecked dereference.

  2959			qla8044_idc_unlock(ha);
  2960		}

regards,
dan carpenter

#1 lore raw

Hi Dan,
Thanks. We will soon submit the patch to correct the smatch warning.

Thanks,
~Saurav

-----Original Message-----
From: Dan Carpenter <[email protected]>
Date: Fri, 1 Nov 2013 13:30:30 +0300
To: <[email protected]>
Cc: <[email protected]>
Subject: re: [SCSI] qla2xxx: Add support for ISP8044.

Quoted 61 lines

Hello Atul Deshmukh,

This is a semi-automatic email about new static checker warnings.

The patch 7ec0effd30bb: "[SCSI] qla2xxx: Add support for ISP8044." from Aug 27, 2013, leads to the following Smatch complaint:

drivers/scsi/qla2xxx/qla_os.c:2958 qla2x00_probe_one()
error: we previously assumed 'base_vha' could be null (see line 2628)

drivers/scsi/qla2xxx/qla_os.c
2627 base_vha = qla2x00_create_host(sht, ha);

 2628		if (!base_vha) {
                   ^^^^^^^^^

Existing check.

2629 ret = -ENOMEM;
2630 qla2x00_mem_free(ha);
2631 qla2x00_free_req_que(ha, req);
2632 qla2x00_free_rsp_que(ha, rsp);
2633 goto probe_hw_failed;
2634 }

[ snip ]

2935 probe_failed:
2936 if (base_vha->timer_active)
2937 qla2x00_stop_timer(base_vha);
2938 base_vha->flags.online = 0;
2939 if (ha->dpc_thread) {
2940 struct task_struct *t = ha->dpc_thread;
2941
2942 ha->dpc_thread = NULL;
2943 kthread_stop(t);
2944 }
2945
2946 qla2x00_free_device(base_vha);
2947
2948 scsi_host_put(base_vha->host);
2949
2950 probe_hw_failed:
2951 if (IS_QLA82XX(ha)) {
2952 qla82xx_idc_lock(ha);
2953 qla82xx_clear_drv_active(ha);
2954 qla82xx_idc_unlock(ha);
2955 }
2956 if (IS_QLA8044(ha)) {
2957 qla8044_idc_lock(ha);

 2958			qla8044_clear_drv_active(base_vha);
                                                ^^^^^^^^

Patch introduces new unchecked dereference.

2959 qla8044_idc_unlock(ha);
2960 }

regards,
dan carpenter
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html