Received: by 2002:ad5:4acb:0:0:0:0:0 with SMTP id n11csp637408imw; Wed, 13 Jul 2022 05:27:25 -0700 (PDT) X-Google-Smtp-Source: AGRyM1s2Ia/YBT349HATe+VKTS0ugun53B29kSJjwsrmrRlw9q22/LQ8r5kf01Lb2mQYBpmcTrfq X-Received: by 2002:a17:90b:4c0e:b0:1ef:e8dd:8572 with SMTP id na14-20020a17090b4c0e00b001efe8dd8572mr3612184pjb.211.1657715245506; Wed, 13 Jul 2022 05:27:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1657715245; cv=none; d=google.com; s=arc-20160816; b=Uc1jWC0gIGzNVoHhlYI53MMXXzXKCjIOOG7OMwHJ2awaQ1yhdwcqxj5i0lvEZBP6yz zqWn9gdJDQAevWDzqgeLZL6D+EiHD3uI2FnYvarbwgRcUtCBU86ZwvphwNr5rZebLaZY US/HqWfpDCAI4XM5PrkXlB2+yapmWIXX/Gbw0JfX2/275yDETfdIiFeL4LW+nbv1LG/T qdRPSggLJladKtfFqzNa0UvqejNf99/lwbNFBDt18X4LpLyqhRPZQP7yLWYqbr3oI6Fg gS7/wKRxq6t7vjh1NpsoN0rGUjlM9GPsPXzzB/tlW03sLIM/wavFD2gTkT1w4gZUzg1R txrQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=jLHlcD1BbkSesfBNiOV7YrrSdYxCd45IacaClX538P8=; b=Ma9PBiPcUdjfJOkdBP3cVPmhWusbEM8JogNsyYFTSFhdamiD0r7XdMUOOWoPesSUrh LB2DNYg7meUYoHayAPLM1Bvb+cEHNF2cGz/8C6VFhXEr6tzPfZ1qE/iIeFNklaIfFhQn SfdpSx/YJspZ4aHIWPWeCldPrA5XiflaYkmw+2TlaoAEUV7RLyTBU936HGrToKYK8r7z nTSjpjZmOQaeyVpUhKRwvTEbFbsiIQi8DHM8BCF0Uzwmfx60yyAbnv+k/DTyCR7/M93f Q3HM2DhFig+Fx8JOY2kH3ez3qis80rLgkzvxwgvPDBuqHCVeV/SF4gIaAa3ill5UQoDn wYVQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=FuYVlgPk; 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=linaro.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id t8-20020a1709027fc800b0016c2d9149desi15012292plb.431.2022.07.13.05.27.13; Wed, 13 Jul 2022 05:27:25 -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=@linaro.org header.s=google header.b=FuYVlgPk; 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=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235540AbiGMMC1 (ORCPT + 99 others); Wed, 13 Jul 2022 08:02:27 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52524 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229777AbiGMMCZ (ORCPT ); Wed, 13 Jul 2022 08:02:25 -0400 Received: from mail-il1-x132.google.com (mail-il1-x132.google.com [IPv6:2607:f8b0:4864:20::132]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E9FC6F4239 for ; Wed, 13 Jul 2022 05:02:24 -0700 (PDT) Received: by mail-il1-x132.google.com with SMTP id u13so6516161iln.6 for ; Wed, 13 Jul 2022 05:02:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=jLHlcD1BbkSesfBNiOV7YrrSdYxCd45IacaClX538P8=; b=FuYVlgPktz9Me7uksXbfDI7RUzuvebE4l+KRaDjErf9W40BWskp58/1UBPGB03R7GK x3yRxchO7XxZJk6dF/fN/sjLqn2MdgM9B6B6XNEhRFChkZoP0ebFbpSPpxphIDzahoNY oBIXxRrjgGlu6nfmogxuHBwayX/9h/Sry94B6FSM4Xr9WkAQPh/IyaFMoyOw6rehgjSz aWy9ZabK7rbif7ZaJ1ZTSeYG2Ud6/gKWP68rbDB6qZ8xiKkYL48dVYgTzMWoupl0PedM UBb442k3MaLaEFQgrX3DM5UVorPsoDU5p1EdISuUpPuy7mXLTM0T9kycsywGBnwhsTHW YcmA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=jLHlcD1BbkSesfBNiOV7YrrSdYxCd45IacaClX538P8=; b=U3GP8bZD2kTrJ1saDAdZrpdZ2YtJv695HBxwd1A+Hx3hRpylSUironCVP9zFPA+YZq vvM1UQA0YSxvVlEig9e8nzBFdTzmViccDOKHnNDxqANos4LQo3qxB3k2X+S+Fue/7U0s 441FIliJ0uBD9ClOkYeQmyMTMnWDLwjsWu35mPVelUHCHrHhqVXbGAMLlKqK+50CYUIV mV9wEnk1XyIU/kKVLjXrohMZXx1m0/L0SE2o6LrPDwsaKJg1uYoSU8MInUDu1gvEtpn/ Y1AAScBNnJIXU2U4l/ro+fe2mT1FBtoOKtXsHjNNPS51eGO4xbWDHrWI7olRKco0oIFx t5GQ== X-Gm-Message-State: AJIora8t376U+X0BGEvxltLLAKxmd7r8ErPqSIsJv9dtshDGIWJRRd27 36ayM1rcNyt9prFYT7+gXf8dYLNRB91K2/ewUQbJ+w== X-Received: by 2002:a05:6e02:18c7:b0:2dc:404a:8416 with SMTP id s7-20020a056e0218c700b002dc404a8416mr1594696ilu.39.1657713744347; Wed, 13 Jul 2022 05:02:24 -0700 (PDT) MIME-Version: 1.0 References: <20220705171649.969194-1-hsinyi@chromium.org> In-Reply-To: <20220705171649.969194-1-hsinyi@chromium.org> From: Ulf Hansson Date: Wed, 13 Jul 2022 14:01:47 +0200 Message-ID: Subject: Re: [PATCH v2] PM: domains: Ensure genpd_debugfs_dir exists before remove To: Hsin-Yi Wang Cc: Greg Kroah-Hartman , "Rafael J . Wysocki" , Kevin Hilman , Pavel Machek , Len Brown , AngeloGioacchino Del Regno , Pin-yen Lin , linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE 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 Tue, 5 Jul 2022 at 19:17, Hsin-Yi Wang wrote: > > Both genpd_debug_add() and genpd_debug_remove() may be called > indirectly by other drivers while genpd_debugfs_dir is not yet > set. For example, drivers can call pm_genpd_init() in probe or > pm_genpd_init() in probe fail/cleanup path: > > pm_genpd_init() > --> genpd_debug_add() > > pm_genpd_remove() > --> genpd_remove() > --> genpd_debug_remove() > > At this time, genpd_debug_init() may not yet be called. > > genpd_debug_add() checks that if genpd_debugfs_dir is NULL, it > will return directly. Make sure this is also checked > in pm_genpd_remove(), otherwise components under debugfs root > which has the same name as other components under pm_genpd may > be accidentally removed, since NULL represents debugfs root. > > Fixes: 718072ceb211 ("PM: domains: create debugfs nodes when adding power domains") > Signed-off-by: Hsin-Yi Wang Reviewed-by: Ulf Hansson Kind regards Uffe > --- > v1->v2: Add more context in commit message > --- > drivers/base/power/domain.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/base/power/domain.c b/drivers/base/power/domain.c > index 3e86772d5fac5..5a2e0232862e0 100644 > --- a/drivers/base/power/domain.c > +++ b/drivers/base/power/domain.c > @@ -222,6 +222,9 @@ static void genpd_debug_remove(struct generic_pm_domain *genpd) > { > struct dentry *d; > > + if (!genpd_debugfs_dir) > + return; > + > d = debugfs_lookup(genpd->name, genpd_debugfs_dir); > debugfs_remove(d); > } > -- > 2.37.0.rc0.161.g10f37bed90-goog >