Kfree can cope with a null argument, so drop null tests. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression ptr; @@ - if (ptr != NULL) kfree(ptr); @@ expression ptr; @@ - if (ptr != NULL) { kfree(ptr); ptr = NULL; - } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> --- drivers/staging/lustre/lustre/obdclass/obd_mount.c | 45 +++++++-------------- 1 file changed, 15 insertions(+), 30 deletions(-) diff --git a/drivers/staging/lustre/lustre/obdclass/obd_mount.c b/drivers/staging/lustre/lustre/obdclass/obd_mount.c index 04a22169..1f9a5f7 100644 --- a/drivers/staging/lustre/lustre/obdclass/obd_mount.c +++ b/drivers/staging/lustre/lustre/obdclass/obd_mount.c @@ -464,12 +464,9 @@ out: out_free: mutex_unlock(&mgc_start_lock); - if (data) - kfree(data); - if (mgcname) - kfree(mgcname); - if (niduuid) - kfree(niduuid); + kfree(data); + kfree(mgcname); + kfree(niduuid); return rc; } @@ -538,8 +535,7 @@ static int lustre_stop_mgc(struct super_block *sb) niduuid, rc); } out: - if (niduuid) - kfree(niduuid); + kfree(niduuid); /* class_import_put will get rid of the additional connections */ mutex_unlock(&mgc_start_lock); @@ -585,22 +581,15 @@ static int lustre_free_lsi(struct super_block *sb) LASSERT(atomic_read(&lsi->lsi_mounts) == 0); if (lsi->lsi_lmd != NULL) { - if (lsi->lsi_lmd->lmd_dev != NULL) - kfree(lsi->lsi_lmd->lmd_dev); - if (lsi->lsi_lmd->lmd_profile != NULL) - kfree(lsi->lsi_lmd->lmd_profile); - if (lsi->lsi_lmd->lmd_mgssec != NULL) - kfree(lsi->lsi_lmd->lmd_mgssec); - if (lsi->lsi_lmd->lmd_opts != NULL) - kfree(lsi->lsi_lmd->lmd_opts); + kfree(lsi->lsi_lmd->lmd_dev); + kfree(lsi->lsi_lmd->lmd_profile); + kfree(lsi->lsi_lmd->lmd_mgssec); + kfree(lsi->lsi_lmd->lmd_opts); if (lsi->lsi_lmd->lmd_exclude_count) kfree(lsi->lsi_lmd->lmd_exclude); - if (lsi->lsi_lmd->lmd_mgs != NULL) - kfree(lsi->lsi_lmd->lmd_mgs); - if (lsi->lsi_lmd->lmd_osd_type != NULL) - kfree(lsi->lsi_lmd->lmd_osd_type); - if (lsi->lsi_lmd->lmd_params != NULL) - kfree(lsi->lsi_lmd->lmd_params); + kfree(lsi->lsi_lmd->lmd_mgs); + kfree(lsi->lsi_lmd->lmd_osd_type); + kfree(lsi->lsi_lmd->lmd_params); kfree(lsi->lsi_lmd); } @@ -886,10 +875,8 @@ static int lmd_parse_mgssec(struct lustre_mount_data *lmd, char *ptr) char *tail; int length; - if (lmd->lmd_mgssec != NULL) { - kfree(lmd->lmd_mgssec); - lmd->lmd_mgssec = NULL; - } + kfree(lmd->lmd_mgssec); + lmd->lmd_mgssec = NULL; tail = strchr(ptr, ','); if (tail == NULL) @@ -914,10 +901,8 @@ static int lmd_parse_string(char **handle, char *ptr) if ((handle == NULL) || (ptr == NULL)) return -EINVAL; - if (*handle != NULL) { - kfree(*handle); - *handle = NULL; - } + kfree(*handle); + *handle = NULL; tail = strchr(ptr, ','); if (tail == NULL) _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel