lkml.org 
[lkml]   [2022]   [Jun]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.15 146/247] net: dsa: lantiq_gswip: Fix refcount leak in gswip_gphy_fw_list
    Date
    From: Miaoqian Lin <linmq006@gmail.com>

    [ Upstream commit 0737e018a05e2aa352828c52bdeed3b02cff2930 ]

    Every iteration of for_each_available_child_of_node() decrements
    the reference count of the previous node.
    when breaking early from a for_each_available_child_of_node() loop,
    we need to explicitly call of_node_put() on the gphy_fw_np.
    Add missing of_node_put() to avoid refcount leak.

    Fixes: 14fceff4771e ("net: dsa: Add Lantiq / Intel DSA driver for vrx200")
    Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
    Link: https://lore.kernel.org/r/20220605072335.11257-1-linmq006@gmail.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/dsa/lantiq_gswip.c | 4 +++-
    1 file changed, 3 insertions(+), 1 deletion(-)

    diff --git a/drivers/net/dsa/lantiq_gswip.c b/drivers/net/dsa/lantiq_gswip.c
    index 8a8f392813d8..2240a3d35122 100644
    --- a/drivers/net/dsa/lantiq_gswip.c
    +++ b/drivers/net/dsa/lantiq_gswip.c
    @@ -2047,8 +2047,10 @@ static int gswip_gphy_fw_list(struct gswip_priv *priv,
    for_each_available_child_of_node(gphy_fw_list_np, gphy_fw_np) {
    err = gswip_gphy_fw_probe(priv, &priv->gphy_fw[i],
    gphy_fw_np, i);
    - if (err)
    + if (err) {
    + of_node_put(gphy_fw_np);
    goto remove_gphy;
    + }
    i++;
    }

    --
    2.35.1


    \
     
     \ /
      Last update: 2022-06-13 15:16    [W:4.046 / U:0.108 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site