Remove DM's unneeded NULL tests before calling these destroy functions,
now that they check for NULL, thanks to these v4.3 commits:
3942d2991 ("mm/slab_common: allow NULL cache pointer in kmem_cache_destroy()")
4e3ca3e03 ("mm/mempool: allow NULL `pool' pointer in mempool_destroy()")
The semantic patch that makes this change is as follows:
(http://coccinelle.lip6.fr/)
// <smpl>
@@ expression x; @@
-if (x != NULL)
  \(kmem_cache_destroy\|mempool_destroy\|dma_pool_destroy\)(x);
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
 
        cancel_delayed_work_sync(&dm_bufio_work);
        destroy_workqueue(dm_bufio_wq);
 
-       for (i = 0; i < ARRAY_SIZE(dm_bufio_caches); i++) {
-               struct kmem_cache *kc = dm_bufio_caches[i];
-
-               if (kc)
-                       kmem_cache_destroy(kc);
-       }
+       for (i = 0; i < ARRAY_SIZE(dm_bufio_caches); i++)
+               kmem_cache_destroy(dm_bufio_caches[i]);
 
        for (i = 0; i < ARRAY_SIZE(dm_bufio_cache_names); i++)
                kfree(dm_bufio_cache_names[i]);
 
 {
        unsigned i;
 
-       if (cache->migration_pool)
-               mempool_destroy(cache->migration_pool);
+       mempool_destroy(cache->migration_pool);
 
        if (cache->all_io_ds)
                dm_deferred_set_destroy(cache->all_io_ds);
 
        if (cc->bs)
                bioset_free(cc->bs);
 
-       if (cc->page_pool)
-               mempool_destroy(cc->page_pool);
-       if (cc->req_pool)
-               mempool_destroy(cc->req_pool);
+       mempool_destroy(cc->page_pool);
+       mempool_destroy(cc->req_pool);
 
        if (cc->iv_gen_ops && cc->iv_gen_ops->dtr)
                cc->iv_gen_ops->dtr(cc);
 
        return client;
 
    bad:
-       if (client->pool)
-               mempool_destroy(client->pool);
+       mempool_destroy(client->pool);
        kfree(client);
        return ERR_PTR(-ENOMEM);
 }
 
 out:
        kfree(devices_rdata);
        if (r) {
-               if (lc->flush_entry_pool)
-                       mempool_destroy(lc->flush_entry_pool);
+               mempool_destroy(lc->flush_entry_pool);
                kfree(lc);
                kfree(ctr_str);
        } else {
 
        if (rh->log)
                dm_dirty_log_destroy(rh->log);
 
-       if (rh->region_pool)
-               mempool_destroy(rh->region_pool);
-
+       mempool_destroy(rh->region_pool);
        vfree(rh->buckets);
        kfree(rh);
 }
 
                destroy_workqueue(md->wq);
        if (md->kworker_task)
                kthread_stop(md->kworker_task);
-       if (md->io_pool)
-               mempool_destroy(md->io_pool);
-       if (md->rq_pool)
-               mempool_destroy(md->rq_pool);
+       mempool_destroy(md->io_pool);
+       mempool_destroy(md->rq_pool);
        if (md->bs)
                bioset_free(md->bs);
 
        if (!pools)
                return;
 
-       if (pools->io_pool)
-               mempool_destroy(pools->io_pool);
-
-       if (pools->rq_pool)
-               mempool_destroy(pools->rq_pool);
+       mempool_destroy(pools->io_pool);
+       mempool_destroy(pools->rq_pool);
 
        if (pools->bs)
                bioset_free(pools->bs);