From: Markus Elfring <elfr...@users.sourceforge.net>
Date: Tue, 4 Oct 2016 12:02:29 +0200

One local variable was set to an error code before a concrete
error situation was detected. Thus move the corresponding assignment into
two if branches to indicate a memory allocation failure there.

Signed-off-by: Markus Elfring <elfr...@users.sourceforge.net>
---
 drivers/md/raid0.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/drivers/md/raid0.c b/drivers/md/raid0.c
index 3c76451..71bd398 100644
--- a/drivers/md/raid0.c
+++ b/drivers/md/raid0.c
@@ -149,17 +149,21 @@ static int create_strip_zones(struct mddev *mddev, struct 
r0conf **private_conf)
                goto free_conf;
        }
 
-       err = -ENOMEM;
        conf->strip_zone = kcalloc(conf->nr_strip_zones,
                                   sizeof(*conf->strip_zone),
                                   GFP_KERNEL);
-       if (!conf->strip_zone)
+       if (!conf->strip_zone) {
+               err = -ENOMEM;
                goto free_conf;
+       }
+
        conf->devlist = kcalloc(conf->nr_strip_zones * mddev->raid_disks,
                                sizeof(*conf->devlist),
                                GFP_KERNEL);
-       if (!conf->devlist)
+       if (!conf->devlist) {
+               err = -ENOMEM;
                goto free_zone;
+       }
 
        /* The first zone must contain all devices, so here we check that
         * there is a proper alignment of slots to devices and find them all
-- 
2.10.1

Reply via email to