lkml.org 
[lkml]   [2016]   [Oct]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Subject[PATCH 44/54] md/raid10: Return directly after a failed kzalloc() in setup_conf()
    From
    Date
    From: Markus Elfring <elfring@users.sourceforge.net>
    Date: Wed, 5 Oct 2016 17:46:02 +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.

    * Reorder calls for the functions "kfree" and "safe_put_page"
    at the end.

    Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
    ---
    drivers/md/raid10.c | 12 +++++-------
    1 file changed, 5 insertions(+), 7 deletions(-)

    diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c
    index 8326e68..abe75c2 100644
    --- a/drivers/md/raid10.c
    +++ b/drivers/md/raid10.c
    @@ -3501,7 +3501,7 @@ static struct r10conf *setup_conf(struct mddev *mddev)
    err = -ENOMEM;
    conf = kzalloc(sizeof(*conf), GFP_KERNEL);
    if (!conf)
    - goto out;
    + return ERR_PTR(-ENOMEM);

    /* FIXME calc properly */
    conf->mirrors = kcalloc(mddev->raid_disks + max(0, -mddev->delta_disks),
    @@ -3554,12 +3554,10 @@ static struct r10conf *setup_conf(struct mddev *mddev)
    return conf;

    out:
    - if (conf) {
    - mempool_destroy(conf->r10bio_pool);
    - kfree(conf->mirrors);
    - safe_put_page(conf->tmppage);
    - kfree(conf);
    - }
    + mempool_destroy(conf->r10bio_pool);
    + safe_put_page(conf->tmppage);
    + kfree(conf->mirrors);
    + kfree(conf);
    return ERR_PTR(err);
    }

    --
    2.10.1
    \
     
     \ /
      Last update: 2016-10-06 11:46    [W:4.069 / U:0.044 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site