On Tue, Mar 22, 2016 at 7:38 PM, kbuild test robot <[email protected]> wrote:
> Hi Ming,
>
> [auto build test WARNING on scsi/for-next]
> [also build test WARNING on v4.5 next-20160322]
> [if your patch is applied to the wrong git tree, please drop us a note to
> help improving the system]
>
> url:
> https://github.com/0day-ci/linux/commits/Ming-Lin/mempool-based-chained-scatterlist-alloc-free-api/20160323-060710
> base: https://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git for-next
>
>
> coccinelle warnings: (new ones prefixed by >>)
>
>>> lib/sg_pool.c:152:3-18: WARNING: NULL check before freeing functions like
>>> kfree, debugfs_remove, debugfs_remove_recursive or usb_free_urb is not
>>> needed. Maybe consider reorganizing relevant code to avoid passing NULL
>>> values.
> lib/sg_pool.c:154:3-21: WARNING: NULL check before freeing functions like
> kfree, debugfs_remove, debugfs_remove_recursive or usb_free_urb is not
> needed. Maybe consider reorganizing relevant code to avoid passing NULL
> values.
mempool_destroy()/kmem_cache_destroy() is OK to accept NULL pointer.
But the logic is more readable that we do NULL check when cleanup due to error.
cleanup_sdb:
for (i = 0; i < SG_MEMPOOL_NR; i++) {
struct sg_pool *sgp = sg_pools + i;
if (sgp->pool)
mempool_destroy(sgp->pool);
if (sgp->slab)
kmem_cache_destroy(sgp->slab);
}
I'll keep the NULL check if no objection.
Thanks.