[PATCH 27/54] md/raid5: Return directly after a failed kzalloc() in setup_conf()

From: SF Markus Elfring
Date: Thu Oct 06 2016 - 05:26:44 EST


From: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue, 4 Oct 2016 22:44:59 +0200

* Return directly after a call of the function "kzalloc" failed
at the beginning.

* Delete a repeated check for the local variable "conf"
which became unnecessary with this refactoring.

Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
---
drivers/md/raid5.c | 11 ++++-------
1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c
index 562138f..17f50a6 100644
--- a/drivers/md/raid5.c
+++ b/drivers/md/raid5.c
@@ -6482,8 +6482,8 @@ static struct r5conf *setup_conf(struct mddev *mddev)
}

conf = kzalloc(sizeof(*conf), GFP_KERNEL);
- if (conf == NULL)
- goto abort;
+ if (!conf)
+ return ERR_PTR(-ENOMEM);
/* Don't enable multi-threading by default*/
if (!alloc_thread_groups(conf, 0, &group_cnt, &worker_cnt_per_group,
&new_group)) {
@@ -6646,11 +6646,8 @@ static struct r5conf *setup_conf(struct mddev *mddev)
return conf;

abort:
- if (conf) {
- free_conf(conf);
- return ERR_PTR(-EIO);
- } else
- return ERR_PTR(-ENOMEM);
+ free_conf(conf);
+ return ERR_PTR(-EIO);
}

static int only_parity(int raid_disk, int algo, int raid_disks, int max_degraded)
--
2.10.1