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


--
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

Reply via email to