lkml.org 
[lkml]   [2019]   [Apr]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.0 005/146] genetlink: Fix a memory leak on error path
    Date
    5.0-stable review patch.  If anyone has any objections, please let me know.

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

    From: YueHaibing <yuehaibing@huawei.com>

    [ Upstream commit ceabee6c59943bdd5e1da1a6a20dc7ee5f8113a2 ]

    In genl_register_family(), when idr_alloc() fails,
    we forget to free the memory we possibly allocate for
    family->attrbuf.

    Reported-by: Hulk Robot <hulkci@huawei.com>
    Fixes: 2ae0f17df1cd ("genetlink: use idr to track families")
    Signed-off-by: YueHaibing <yuehaibing@huawei.com>
    Reviewed-by: Kirill Tkhai <ktkhai@virtuozzo.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    net/netlink/genetlink.c | 3 ++-
    1 file changed, 2 insertions(+), 1 deletion(-)

    --- a/net/netlink/genetlink.c
    +++ b/net/netlink/genetlink.c
    @@ -366,7 +366,7 @@ int genl_register_family(struct genl_fam
    start, end + 1, GFP_KERNEL);
    if (family->id < 0) {
    err = family->id;
    - goto errout_locked;
    + goto errout_free;
    }

    err = genl_validate_assign_mc_groups(family);
    @@ -385,6 +385,7 @@ int genl_register_family(struct genl_fam

    errout_remove:
    idr_remove(&genl_fam_idr, family->id);
    +errout_free:
    kfree(family->attrbuf);
    errout_locked:
    genl_unlock_all();

    \
     
     \ /
      Last update: 2019-04-01 20:05    [W:4.738 / U:0.160 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site