
From: Jesper Juhl <juhl-lkml@dif.dk>

This patch removes some unneeded checks of pointers being NULL before
calling kfree() on them.  kfree() handles NULL pointers just fine, checking
first is pointless.

Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 drivers/md/dm-crypt.c  |    3 +--
 drivers/md/linear.c    |    3 +--
 drivers/md/md.c        |   10 +++-------
 drivers/md/multipath.c |    3 +--
 drivers/md/raid0.c     |   12 +++++-------
 drivers/md/raid1.c     |   12 ++++--------
 drivers/md/raid10.c    |    6 ++----
 7 files changed, 17 insertions(+), 32 deletions(-)

diff -puN drivers/md/dm-crypt.c~md-remove-unneeded-null-checks-before-kfree drivers/md/dm-crypt.c
--- 25/drivers/md/dm-crypt.c~md-remove-unneeded-null-checks-before-kfree	2005-05-31 00:32:54.000000000 -0700
+++ 25-akpm/drivers/md/dm-crypt.c	2005-05-31 00:32:54.000000000 -0700
@@ -704,8 +704,7 @@ static void crypt_dtr(struct dm_target *
 	mempool_destroy(cc->page_pool);
 	mempool_destroy(cc->io_pool);
 
-	if (cc->iv_mode)
-		kfree(cc->iv_mode);
+	kfree(cc->iv_mode);
 	if (cc->iv_gen_ops && cc->iv_gen_ops->dtr)
 		cc->iv_gen_ops->dtr(cc);
 	crypto_free_tfm(cc->tfm);
diff -puN drivers/md/linear.c~md-remove-unneeded-null-checks-before-kfree drivers/md/linear.c
--- 25/drivers/md/linear.c~md-remove-unneeded-null-checks-before-kfree	2005-05-31 00:32:54.000000000 -0700
+++ 25-akpm/drivers/md/linear.c	2005-05-31 00:32:54.000000000 -0700
@@ -217,8 +217,7 @@ static int linear_run (mddev_t *mddev)
 	return 0;
 
 out:
-	if (conf)
-		kfree(conf);
+	kfree(conf);
 	return 1;
 }
 
diff -puN drivers/md/md.c~md-remove-unneeded-null-checks-before-kfree drivers/md/md.c
--- 25/drivers/md/md.c~md-remove-unneeded-null-checks-before-kfree	2005-05-31 00:32:54.000000000 -0700
+++ 25-akpm/drivers/md/md.c	2005-05-31 00:32:54.000000000 -0700
@@ -195,8 +195,7 @@ static mddev_t * mddev_find(dev_t unit)
 		if (mddev->unit == unit) {
 			mddev_get(mddev);
 			spin_unlock(&all_mddevs_lock);
-			if (new)
-				kfree(new);
+			kfree(new);
 			return mddev;
 		}
 
@@ -458,11 +457,8 @@ static int sb_equal(mdp_super_t *sb1, md
 		ret = 1;
 
 abort:
-	if (tmp1)
-		kfree(tmp1);
-	if (tmp2)
-		kfree(tmp2);
-
+	kfree(tmp1);
+	kfree(tmp2);
 	return ret;
 }
 
diff -puN drivers/md/multipath.c~md-remove-unneeded-null-checks-before-kfree drivers/md/multipath.c
--- 25/drivers/md/multipath.c~md-remove-unneeded-null-checks-before-kfree	2005-05-31 00:32:54.000000000 -0700
+++ 25-akpm/drivers/md/multipath.c	2005-05-31 00:32:54.000000000 -0700
@@ -533,8 +533,7 @@ static int multipath_run (mddev_t *mddev
 out_free_conf:
 	if (conf->pool)
 		mempool_destroy(conf->pool);
-	if (conf->multipaths)
-		kfree(conf->multipaths);
+	kfree(conf->multipaths);
 	kfree(conf);
 	mddev->private = NULL;
 out:
diff -puN drivers/md/raid0.c~md-remove-unneeded-null-checks-before-kfree drivers/md/raid0.c
--- 25/drivers/md/raid0.c~md-remove-unneeded-null-checks-before-kfree	2005-05-31 00:32:54.000000000 -0700
+++ 25-akpm/drivers/md/raid0.c	2005-05-31 00:32:54.000000000 -0700
@@ -371,10 +371,8 @@ static int raid0_run (mddev_t *mddev)
 	return 0;
 
 out_free_conf:
-	if (conf->strip_zone)
-		kfree(conf->strip_zone);
-	if (conf->devlist)
-		kfree (conf->devlist);
+	kfree(conf->strip_zone);
+	kfree(conf->devlist);
 	kfree(conf);
 	mddev->private = NULL;
 out:
@@ -386,11 +384,11 @@ static int raid0_stop (mddev_t *mddev)
 	raid0_conf_t *conf = mddev_to_conf(mddev);
 
 	blk_sync_queue(mddev->queue); /* the unplug fn references 'conf'*/
-	kfree (conf->hash_table);
+	kfree(conf->hash_table);
 	conf->hash_table = NULL;
-	kfree (conf->strip_zone);
+	kfree(conf->strip_zone);
 	conf->strip_zone = NULL;
-	kfree (conf);
+	kfree(conf);
 	mddev->private = NULL;
 
 	return 0;
diff -puN drivers/md/raid10.c~md-remove-unneeded-null-checks-before-kfree drivers/md/raid10.c
--- 25/drivers/md/raid10.c~md-remove-unneeded-null-checks-before-kfree	2005-05-31 00:32:54.000000000 -0700
+++ 25-akpm/drivers/md/raid10.c	2005-05-31 00:32:54.000000000 -0700
@@ -1737,8 +1737,7 @@ static int run(mddev_t *mddev)
 out_free_conf:
 	if (conf->r10bio_pool)
 		mempool_destroy(conf->r10bio_pool);
-	if (conf->mirrors)
-		kfree(conf->mirrors);
+	kfree(conf->mirrors);
 	kfree(conf);
 	mddev->private = NULL;
 out:
@@ -1754,8 +1753,7 @@ static int stop(mddev_t *mddev)
 	blk_sync_queue(mddev->queue); /* the unplug fn references 'conf'*/
 	if (conf->r10bio_pool)
 		mempool_destroy(conf->r10bio_pool);
-	if (conf->mirrors)
-		kfree(conf->mirrors);
+	kfree(conf->mirrors);
 	kfree(conf);
 	mddev->private = NULL;
 	return 0;
diff -puN drivers/md/raid1.c~md-remove-unneeded-null-checks-before-kfree drivers/md/raid1.c
--- 25/drivers/md/raid1.c~md-remove-unneeded-null-checks-before-kfree	2005-05-31 00:32:54.000000000 -0700
+++ 25-akpm/drivers/md/raid1.c	2005-05-31 00:32:54.000000000 -0700
@@ -1427,10 +1427,8 @@ out_free_conf:
 	if (conf) {
 		if (conf->r1bio_pool)
 			mempool_destroy(conf->r1bio_pool);
-		if (conf->mirrors)
-			kfree(conf->mirrors);
-		if (conf->poolinfo)
-			kfree(conf->poolinfo);
+		kfree(conf->mirrors);
+		kfree(conf->poolinfo);
 		kfree(conf);
 		mddev->private = NULL;
 	}
@@ -1447,10 +1445,8 @@ static int stop(mddev_t *mddev)
 	blk_sync_queue(mddev->queue); /* the unplug fn references 'conf'*/
 	if (conf->r1bio_pool)
 		mempool_destroy(conf->r1bio_pool);
-	if (conf->mirrors)
-		kfree(conf->mirrors);
-	if (conf->poolinfo)
-		kfree(conf->poolinfo);
+	kfree(conf->mirrors);
+	kfree(conf->poolinfo);
 	kfree(conf);
 	mddev->private = NULL;
 	return 0;
_
