Message ID | 1434540067-69384-1-git-send-email-maninder1.s@samsung.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Wed, Jun 17, 2015 at 04:51:07PM +0530, Maninder Singh wrote: > Currently cmnd pointer is already dereferenced before NULL check > and thus getting below warning in static analysis: > warn: variable dereferenced before check 'cmnd' > > So initialize struct scsi_device *sdp after NULL check > of cmnd > > > Signed-off-by: Maninder Singh <maninder1.s@samsung.com> > Reviewed-by: Akhilesh Kumar <akhilesh.k@samsung.com> > --- > drivers/scsi/scsi_debug.c | 4 +++- > 1 files changed, 3 insertions(+), 1 deletions(-) > > diff --git a/drivers/scsi/scsi_debug.c b/drivers/scsi/scsi_debug.c > index 1f8e2dc..bb97a5a 100644 > --- a/drivers/scsi/scsi_debug.c > +++ b/drivers/scsi/scsi_debug.c > @@ -3942,7 +3942,7 @@ schedule_resp(struct scsi_cmnd *cmnd, struct sdebug_dev_info *devip, > unsigned long iflags; > int k, num_in_q, qdepth, inject; > struct sdebug_queued_cmd *sqcp = NULL; > - struct scsi_device *sdp = cmnd->device; > + struct scsi_device *sdp; > > if (NULL == cmnd || NULL == devip) { > pr_warn("%s: called with NULL cmnd or devip pointer\n", > @@ -3950,6 +3950,8 @@ schedule_resp(struct scsi_cmnd *cmnd, struct sdebug_dev_info *devip, > /* no particularly good error to report back */ > return SCSI_MLQUEUE_HOST_BUSY; > } > + > + sdp = cmnd->device; > if ((scsi_result) && (SCSI_DEBUG_OPT_NOISE & scsi_debug_opts)) > sdev_printk(KERN_INFO, sdp, "%s: non-zero result=0x%x\n", > __func__, scsi_result); > -- > 1.7.1 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-scsi" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
diff --git a/drivers/scsi/scsi_debug.c b/drivers/scsi/scsi_debug.c index 1f8e2dc..bb97a5a 100644 --- a/drivers/scsi/scsi_debug.c +++ b/drivers/scsi/scsi_debug.c @@ -3942,7 +3942,7 @@ schedule_resp(struct scsi_cmnd *cmnd, struct sdebug_dev_info *devip, unsigned long iflags; int k, num_in_q, qdepth, inject; struct sdebug_queued_cmd *sqcp = NULL; - struct scsi_device *sdp = cmnd->device; + struct scsi_device *sdp; if (NULL == cmnd || NULL == devip) { pr_warn("%s: called with NULL cmnd or devip pointer\n", @@ -3950,6 +3950,8 @@ schedule_resp(struct scsi_cmnd *cmnd, struct sdebug_dev_info *devip, /* no particularly good error to report back */ return SCSI_MLQUEUE_HOST_BUSY; } + + sdp = cmnd->device; if ((scsi_result) && (SCSI_DEBUG_OPT_NOISE & scsi_debug_opts)) sdev_printk(KERN_INFO, sdp, "%s: non-zero result=0x%x\n", __func__, scsi_result);