lkml.org 
[lkml]   [2022]   [Jan]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.10 513/563] parisc: pdc_stable: Fix memory leak in pdcs_register_pathentries
    Date
    From: Miaoqian Lin <linmq006@gmail.com>

    commit d24846a4246b6e61ecbd036880a4adf61681d241 upstream.

    kobject_init_and_add() takes reference even when it fails.
    According to the doc of kobject_init_and_add():

    If this function returns an error, kobject_put() must be called to
    properly clean up the memory associated with the object.

    Fix memory leak by calling kobject_put().

    Fixes: 73f368cf679b ("Kobject: change drivers/parisc/pdc_stable.c to use kobject_init_and_add")
    Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
    Signed-off-by: Helge Deller <deller@gmx.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/parisc/pdc_stable.c | 4 +++-
    1 file changed, 3 insertions(+), 1 deletion(-)

    --- a/drivers/parisc/pdc_stable.c
    +++ b/drivers/parisc/pdc_stable.c
    @@ -979,8 +979,10 @@ pdcs_register_pathentries(void)
    entry->kobj.kset = paths_kset;
    err = kobject_init_and_add(&entry->kobj, &ktype_pdcspath, NULL,
    "%s", entry->name);
    - if (err)
    + if (err) {
    + kobject_put(&entry->kobj);
    return err;
    + }

    /* kobject is now registered */
    write_lock(&entry->rw_lock);

    \
     
     \ /
      Last update: 2022-01-25 04:39    [W:2.201 / U:2.688 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site