Received: by 2002:a5d:925a:0:0:0:0:0 with SMTP id e26csp1863907iol; Fri, 10 Jun 2022 17:16:41 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxq1suT/9izqkWMc4CthtKXv8zfOsu+IzF8TtrZ9E2IlX5EzpTTMG7FJIHeO3Db8AXApArm X-Received: by 2002:a17:90a:bd89:b0:1e3:50de:5ccf with SMTP id z9-20020a17090abd8900b001e350de5ccfmr2352845pjr.104.1654906600999; Fri, 10 Jun 2022 17:16:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1654906600; cv=none; d=google.com; s=arc-20160816; b=eutvHvdbRhqoZJdcbqckpm9EZewKCbjDckE+e5LPjygrtjphIHL5+hYKHSCbGPCmBQ 6yqlQky4WEtz1LaldeQmKIamj+vg39dQRz+MH8XogKonzdeXHtwOmRsvuyqLVLqtkvzy vAoSsWB2ycs5ZrwbYtGkXOJq9/FTvzc1bQ7f/0gV8fmrzUMDb1KVdcrV9iLBaqo7goOx 3u4zmF3k6QiuLclFbd/tNwRWUHVV8LKCWlYkAZzzCaTcDUgGelYC23BbJAZvWgcVMc3H eo54U7zaPaYnsJz3fxYBoS6OHfMKg14L2cKYkBB5fJA2YKn0FftsD+8PfNCbp5coXFsL leuQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:to:content-language:subject:user-agent:mime-version:date :message-id:dkim-signature; bh=9yAbVr8i+ycH3s6QgCiS4sWu5K/Nl73oEYUd3Goddgg=; b=lG7Xw9FxK84DI0w3GsGsDoI3wwzDYoSLeBooGLCENmXFwDtbIJRcAw20yOr5pzgcL9 IUhYTZrkw4eMU238cNjkxFnpFlAFN2jaJcohVAMFawVhbpUYAtNuEwaVr8SNya3pZeNc 8Cxft8aYijB/ye4f3x4Rwfnqm1i3FPJh5V6/t2qtmPoWhxSn6+5XySPnz4+mefjLR/pb QhdWpLPmgG4HI+Y0fsHvEmvmFyfzREjjFzZcuenoCLFPN5UoAHx0bdgc8TeERriQsSVJ X+bJ6ZYSp6enN1iyFahqgqD+ArL9Yxrse2+PJwsGkyVKEKd0cI2jyRIFK0zdDq37ILcu VYLA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcdkim header.b="V/Jl4Kli"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id e10-20020a170902cf4a00b001678a65d755si807717plg.154.2022.06.10.17.16.28; Fri, 10 Jun 2022 17:16:40 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcdkim header.b="V/Jl4Kli"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1348768AbiFJXUQ (ORCPT + 99 others); Fri, 10 Jun 2022 19:20:16 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40288 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1347331AbiFJXUN (ORCPT ); Fri, 10 Jun 2022 19:20:13 -0400 Received: from alexa-out-sd-02.qualcomm.com (alexa-out-sd-02.qualcomm.com [199.106.114.39]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 35F2010D302; Fri, 10 Jun 2022 16:20:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; i=@quicinc.com; q=dns/txt; s=qcdkim; t=1654903213; x=1686439213; h=message-id:date:mime-version:subject:to:references:from: in-reply-to:content-transfer-encoding; bh=9yAbVr8i+ycH3s6QgCiS4sWu5K/Nl73oEYUd3Goddgg=; b=V/Jl4KlizXftcHb+payH8uYJmarqVK9Djxn1+aYxyONRvf3nYRcyuTKv FrF9/FaHk51kAzk12O2DAKxIJ4JTUUwOL+1mLAlPhweybFN+uXNOExMz3 3weZp1SZgT7fJpAKAxiPpScod0+pInwxtLAfub3XGf5XursnsmH1on2+Y s=; Received: from unknown (HELO ironmsg02-sd.qualcomm.com) ([10.53.140.142]) by alexa-out-sd-02.qualcomm.com with ESMTP; 10 Jun 2022 16:20:12 -0700 X-QCInternal: smtphost Received: from nasanex01c.na.qualcomm.com ([10.47.97.222]) by ironmsg02-sd.qualcomm.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Jun 2022 16:20:12 -0700 Received: from nalasex01a.na.qualcomm.com (10.47.209.196) by nasanex01c.na.qualcomm.com (10.47.97.222) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.22; Fri, 10 Jun 2022 16:20:11 -0700 Received: from [10.38.242.187] (10.80.80.8) by nalasex01a.na.qualcomm.com (10.47.209.196) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.22; Fri, 10 Jun 2022 16:20:08 -0700 Message-ID: <059e0a81-3c0a-1c8f-90f0-a836da1204f5@quicinc.com> Date: Fri, 10 Jun 2022 16:20:07 -0700 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.6.2 Subject: Re: [PATCH] drm/msm/mdp4: Fix refcount leak in mdp4_modeset_init_intf Content-Language: en-US To: Miaoqian Lin , Rob Clark , "Dmitry Baryshkov" , Sean Paul , "David Airlie" , Daniel Vetter , Stephen Boyd , David Heidelberg , Guo Zhengkui , Xu Wang , Neil Armstrong , Rob Herring , , , , References: <20220607110841.53889-1-linmq006@gmail.com> From: Abhinav Kumar In-Reply-To: <20220607110841.53889-1-linmq006@gmail.com> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: nasanex01b.na.qualcomm.com (10.46.141.250) To nalasex01a.na.qualcomm.com (10.47.209.196) X-Spam-Status: No, score=-5.6 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,NICE_REPLY_A,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 6/7/2022 4:08 AM, Miaoqian Lin wrote: > of_graph_get_remote_node() returns remote device node pointer with > refcount incremented, we should use of_node_put() on it > when not need anymore. > Add missing of_node_put() to avoid refcount leak. > > Fixes: 86418f90a4c1 ("drm: convert drivers to use of_graph_get_remote_node") > Signed-off-by: Miaoqian Lin > --- > drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c | 2 ++ > 1 file changed, 2 insertions(+) > This patch itself looks fine and will cover the cases when there was an error and we did not release the refcount. But, even in the normal cases I am not finding where we are releasing the refcount for the panel_node. I dont see a of_node_put() on mdp4_lcdc_encoder->panel_node. Am i missing something? > diff --git a/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c b/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c > index fb48c8c19ec3..17cb1fc78379 100644 > --- a/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c > +++ b/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c > @@ -216,6 +216,7 @@ static int mdp4_modeset_init_intf(struct mdp4_kms *mdp4_kms, > encoder = mdp4_lcdc_encoder_init(dev, panel_node); > if (IS_ERR(encoder)) { > DRM_DEV_ERROR(dev->dev, "failed to construct LCDC encoder\n"); > + of_node_put(panel_node); > return PTR_ERR(encoder); > } > > @@ -225,6 +226,7 @@ static int mdp4_modeset_init_intf(struct mdp4_kms *mdp4_kms, > connector = mdp4_lvds_connector_init(dev, panel_node, encoder); > if (IS_ERR(connector)) { > DRM_DEV_ERROR(dev->dev, "failed to initialize LVDS connector\n"); > + of_node_put(panel_node); > return PTR_ERR(connector); > } >