* re: [SCSI] ipr: Increase max concurrent oustanding commands
@ 2015-02-23 12:32 Dan Carpenter
2015-02-23 14:29 ` Brian King
0 siblings, 1 reply; 2+ messages in thread
From: Dan Carpenter @ 2015-02-23 12:32 UTC (permalink / raw)
To: brking; +Cc: linux-scsi
Hello Brian King,
This is a semi-automatic email about new static checker warnings.
The patch 89aad4283173: "[SCSI] ipr: Increase max concurrent
oustanding commands" from Mar 14, 2012, leads to the following Smatch
complaint:
drivers/scsi/ipr.c:9038 ipr_alloc_cmd_blks()
error: we previously assumed 'ioa_cfg->ipr_cmnd_list' could be null (see line 9037)
drivers/scsi/ipr.c
9036
9037 if (!ioa_cfg->ipr_cmnd_list || !ioa_cfg->ipr_cmnd_list_dma) {
^^^^^^^^^^^^^^^^^^^^^^
This can be NULL.
9038 ipr_free_cmd_blks(ioa_cfg);
^^^^^^^
But we dereference it unconditionally inside the ipr_free_cmd_blks()
function when we check: "if (ioa_cfg->ipr_cmnd_list[i])". These kinds
of magic free everything functions are almost always buggy but Smatch
missed this bug initialy and I had to update it. I'll push the Smatch
change later this week. It requires the cross function database to
trigger this warning.
9039 return -ENOMEM;
9040 }
regards,
dan carpenter
^ permalink raw reply [flat|nested] 2+ messages in thread* Re: [SCSI] ipr: Increase max concurrent oustanding commands
2015-02-23 12:32 [SCSI] ipr: Increase max concurrent oustanding commands Dan Carpenter
@ 2015-02-23 14:29 ` Brian King
0 siblings, 0 replies; 2+ messages in thread
From: Brian King @ 2015-02-23 14:29 UTC (permalink / raw)
To: Dan Carpenter; +Cc: linux-scsi
On 02/23/2015 06:32 AM, Dan Carpenter wrote:
> Hello Brian King,
>
> This is a semi-automatic email about new static checker warnings.
>
> The patch 89aad4283173: "[SCSI] ipr: Increase max concurrent
> oustanding commands" from Mar 14, 2012, leads to the following Smatch
> complaint:
>
> drivers/scsi/ipr.c:9038 ipr_alloc_cmd_blks()
> error: we previously assumed 'ioa_cfg->ipr_cmnd_list' could be null (see line 9037)
>
> drivers/scsi/ipr.c
> 9036
> 9037 if (!ioa_cfg->ipr_cmnd_list || !ioa_cfg->ipr_cmnd_list_dma) {
> ^^^^^^^^^^^^^^^^^^^^^^
> This can be NULL.
>
> 9038 ipr_free_cmd_blks(ioa_cfg);
> ^^^^^^^
> But we dereference it unconditionally inside the ipr_free_cmd_blks()
> function when we check: "if (ioa_cfg->ipr_cmnd_list[i])". These kinds
> of magic free everything functions are almost always buggy but Smatch
> missed this bug initialy and I had to update it. I'll push the Smatch
> change later this week. It requires the cross function database to
> trigger this warning.
Thanks Dan. I'll queue up a fix for this one.
-Brian
--
Brian King
Power Linux I/O
IBM Linux Technology Center
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2015-02-23 14:30 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-02-23 12:32 [SCSI] ipr: Increase max concurrent oustanding commands Dan Carpenter
2015-02-23 14:29 ` Brian King
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.