lkml.org 
[lkml]   [2020]   [Jun]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 5.7 045/388] misc: fastrpc: Fix an incomplete memory release in fastrpc_rpmsg_probe()
    Date
    From: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>

    [ Upstream commit 0978de9fc7335c73934ab8fac189fb4cb3f23191 ]

    fastrpc_channel_ctx is not freed if misc_register() fails, this would
    lead to a memory leak. Fix this leak by adding kfree in misc_register()
    error path.

    Fixes: 278d56f970ae ("misc: fastrpc: Reference count channel context")
    Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
    Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
    Link: https://lore.kernel.org/r/20200511162722.2552-1-srinivas.kandagatla@linaro.org
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/misc/fastrpc.c | 4 +++-
    1 file changed, 3 insertions(+), 1 deletion(-)

    diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c
    index e3e085e33d46..9065d3e71ff7 100644
    --- a/drivers/misc/fastrpc.c
    +++ b/drivers/misc/fastrpc.c
    @@ -1613,8 +1613,10 @@ static int fastrpc_rpmsg_probe(struct rpmsg_device *rpdev)
    domains[domain_id]);
    data->miscdev.fops = &fastrpc_fops;
    err = misc_register(&data->miscdev);
    - if (err)
    + if (err) {
    + kfree(data);
    return err;
    + }

    kref_init(&data->refcount);

    --
    2.25.1
    \
     
     \ /
      Last update: 2020-06-18 04:52    [W:4.051 / U:0.196 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site