lkml.org 
[lkml]   [2018]   [May]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.14 194/496] ceph: fix potential memory leak in init_caches()
    Date
    4.14-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Chengguang Xu <cgxu519@icloud.com>

    [ Upstream commit 1c789249578895bb14ab62b4327306439b754857 ]

    There is lack of cache destroy operation for ceph_file_cachep
    when failing from fscache register.

    Signed-off-by: Chengguang Xu <cgxu519@icloud.com>
    Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
    Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    fs/ceph/super.c | 9 ++++++---
    1 file changed, 6 insertions(+), 3 deletions(-)

    --- a/fs/ceph/super.c
    +++ b/fs/ceph/super.c
    @@ -712,14 +712,17 @@ static int __init init_caches(void)
    goto bad_dentry;

    ceph_file_cachep = KMEM_CACHE(ceph_file_info, SLAB_MEM_SPREAD);
    -
    if (!ceph_file_cachep)
    goto bad_file;

    - if ((error = ceph_fscache_register()))
    - goto bad_file;
    + error = ceph_fscache_register();
    + if (error)
    + goto bad_fscache;

    return 0;
    +
    +bad_fscache:
    + kmem_cache_destroy(ceph_file_cachep);
    bad_file:
    kmem_cache_destroy(ceph_dentry_cachep);
    bad_dentry:

    \
     
     \ /
      Last update: 2018-05-28 15:19    [W:5.655 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site