lkml.org 
[lkml]   [2022]   [Aug]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.15 578/779] remoteproc: imx_rproc: Fix refcount leak in imx_rproc_addr_init
    Date
    From: Miaoqian Lin <linmq006@gmail.com>

    [ Upstream commit 61afafe8b938bc74841cf4b1a73dd08b9d287c5a ]

    of_parse_phandle() returns a node pointer with refcount
    incremented, we should use of_node_put() on it when not needed anymore.
    This function has two paths missing of_node_put().

    Fixes: 6e962bfe56b9 ("remoteproc: imx_rproc: add missing of_node_put")
    Fixes: a0ff4aa6f010 ("remoteproc: imx_rproc: add a NXP/Freescale imx_rproc driver")
    Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
    Link: https://lore.kernel.org/r/20220512045558.7142-1-linmq006@gmail.com
    Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/remoteproc/imx_rproc.c | 7 ++++---
    1 file changed, 4 insertions(+), 3 deletions(-)

    diff --git a/drivers/remoteproc/imx_rproc.c b/drivers/remoteproc/imx_rproc.c
    index 59eae605ad59..e8a170ad43c1 100644
    --- a/drivers/remoteproc/imx_rproc.c
    +++ b/drivers/remoteproc/imx_rproc.c
    @@ -586,16 +586,17 @@ static int imx_rproc_addr_init(struct imx_rproc *priv,

    node = of_parse_phandle(np, "memory-region", a);
    /* Not map vdevbuffer, vdevring region */
    - if (!strncmp(node->name, "vdev", strlen("vdev")))
    + if (!strncmp(node->name, "vdev", strlen("vdev"))) {
    + of_node_put(node);
    continue;
    + }
    err = of_address_to_resource(node, 0, &res);
    + of_node_put(node);
    if (err) {
    dev_err(dev, "unable to resolve memory region\n");
    return err;
    }

    - of_node_put(node);
    -
    if (b >= IMX_RPROC_MEM_MAX)
    break;

    --
    2.35.1


    \
     
     \ /
      Last update: 2022-08-15 21:33    [W:6.301 / U:0.036 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site