lkml.org 
[lkml]   [2020]   [Nov]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.4 170/214] ubifs: Fix a memleak after dumping authentication mount options
    Date
    From: Zhihao Cheng <chengzhihao1@huawei.com>

    commit 47f6d9ce45b03a40c34b668a9884754c58122b39 upstream.

    Fix a memory leak after dumping authentication mount options in error
    handling branch.

    Signed-off-by: Zhihao Cheng <chengzhihao1@huawei.com>
    Cc: <stable@vger.kernel.org> # 4.20+
    Fixes: d8a22773a12c6d7 ("ubifs: Enable authentication support")
    Reviewed-by: Sascha Hauer <s.hauer@pengutronix.de>
    Signed-off-by: Richard Weinberger <richard@nod.at>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    fs/ubifs/super.c | 16 ++++++++++++++--
    1 file changed, 14 insertions(+), 2 deletions(-)

    --- a/fs/ubifs/super.c
    +++ b/fs/ubifs/super.c
    @@ -1123,6 +1123,18 @@ static int ubifs_parse_options(struct ub
    return 0;
    }

    +/*
    + * ubifs_release_options - release mount parameters which have been dumped.
    + * @c: UBIFS file-system description object
    + */
    +static void ubifs_release_options(struct ubifs_info *c)
    +{
    + kfree(c->auth_key_name);
    + c->auth_key_name = NULL;
    + kfree(c->auth_hash_name);
    + c->auth_hash_name = NULL;
    +}
    +
    /**
    * destroy_journal - destroy journal data structures.
    * @c: UBIFS file-system description object
    @@ -1632,8 +1644,7 @@ static void ubifs_umount(struct ubifs_in
    ubifs_lpt_free(c, 0);
    ubifs_exit_authentication(c);

    - kfree(c->auth_key_name);
    - kfree(c->auth_hash_name);
    + ubifs_release_options(c);
    kfree(c->cbuf);
    kfree(c->rcvrd_mst_node);
    kfree(c->mst_node);
    @@ -2201,6 +2212,7 @@ out_umount:
    out_unlock:
    mutex_unlock(&c->umount_mutex);
    out_close:
    + ubifs_release_options(c);
    ubi_close_volume(c->ubi);
    out:
    return err;

    \
     
     \ /
      Last update: 2020-11-03 21:59    [W:4.401 / U:1.828 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site