Received: by 2002:a05:7412:f589:b0:e2:908c:2ebd with SMTP id eh9csp1100106rdb; Wed, 1 Nov 2023 11:13:14 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGBmNavvP4E87CBujpEiPTjYDFAzGVz0l8CIvaLq2AZSjDZ08XyhFxy3OT1d7XFUxSMsDEK X-Received: by 2002:a05:6a00:3a08:b0:6be:5367:211b with SMTP id fj8-20020a056a003a0800b006be5367211bmr14780311pfb.3.1698862394321; Wed, 01 Nov 2023 11:13:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1698862394; cv=none; d=google.com; s=arc-20160816; b=SNN7ozDxDTptVoFJd4gb2Pc/7hs0Z4xI/3/3Ia2GnMR/7SngNpF3wYgQ91Cy9s3vp3 pDHPSlAGtD7VA68bjr6UaqazAGXMR8OuQjeP+ANv53w1n7ZQ8sy+TdyWnwBqZ9iehMqb PR3Kfth2eYgPvef12w8HsK4C48c+J8q5ysMCA+3mcC/SAg07IzolT/DdPIl/Ji5phTkA D6KqdtUqJDvxf/APfD0KsfrSgaHFLWODHeucBl+XxqpCs6kjHOnSqG7jOGwKGEeKYrwr 3Z9Id1guPLFJd33eByh8eewrgsfW1/E4oRdMeZm/JtLJFAsDz5QBdFDTZYDwT6ZzFVgb 5/MQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=yBU+yl6fQ5Qq/RcNfRL+C3d4IK46myuxuR29oNq4mQ4=; fh=YMfDk9ldtVIzYjST6BvXnLYXHP/A+MFOuugyAcJBqrg=; b=LM868ca1JzoVYMd2Au/XJjU5BxVRTsPjaVooFeTDwYDTVs5cCXWvmrPhzRfu1DTVj0 dQVqELDuVeHcTt227EDgyspNUhHZUHTehYvcQpdpoxJ27zuNRGYXxgbkEikWWwGk6IFq u5I5AF6AYy255Y1W1BY0X2DVbfyj4RMgHlKnp/GWk9mQvhfEHgvk9miC8PgT3G1iw3UM QwzGkDQCySJ04ofTDzrO5MugTA0TiV7xBWQN4CA348Q7cbMlxRQFURgpdUbqTvabhZNY Nn1irzzE7qLfRvyMpngv6G4FIN+MEQINVwwbwJUhIbOt2JKtEPs/9OCDmUyDivTCHR4H Qbwg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id q19-20020a056a00085300b006bd2e896465si2157456pfk.199.2023.11.01.11.13.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 01 Nov 2023 11:13:14 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) client-ip=2620:137:e000::3:7; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 09909818F6BA; Wed, 1 Nov 2023 11:13:05 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344562AbjKASNC (ORCPT + 99 others); Wed, 1 Nov 2023 14:13:02 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41112 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232547AbjKASNB (ORCPT ); Wed, 1 Nov 2023 14:13:01 -0400 Received: from 8.mo560.mail-out.ovh.net (8.mo560.mail-out.ovh.net [188.165.52.147]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A3A40D6F for ; Wed, 1 Nov 2023 11:12:23 -0700 (PDT) Received: from director4.ghost.mail-out.ovh.net (unknown [10.109.143.79]) by mo560.mail-out.ovh.net (Postfix) with ESMTP id BDEA127B2D for ; Wed, 1 Nov 2023 17:36:38 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-k8p4s (unknown [10.108.4.11]) by director4.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 3EE021FD7A; Wed, 1 Nov 2023 17:36:37 +0000 (UTC) Received: from foxhound.fi ([37.59.142.103]) by ghost-submission-6684bf9d7b-k8p4s with ESMTPSA id Yc+/CaWMQmUEEgAAHOvW/w (envelope-from ); Wed, 01 Nov 2023 17:36:37 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-103G0057af23061-cf36-4f4c-8b48-a29c5d4dfc4c, E3092659390FA2EDB47E70EC17E7DF57E79FF282) smtp.auth=jose.pekkarinen@foxhound.fi X-OVh-ClientIp: 87.94.110.27 From: =?UTF-8?q?Jos=C3=A9=20Pekkarinen?= To: rafael@kernel.org, len.brown@intel.com, pavel@ucw.cz, gregkh@linuxfoundation.org, skhan@linuxfoundation.org Cc: =?UTF-8?q?Jos=C3=A9=20Pekkarinen?= , linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-kernel-mentees@lists.linuxfoundation.org, syzbot+95f2e2439b97575ec3c0@syzkaller.appspotmail.com Subject: [PATCH] drivers core: lookup sysfs power group before removal Date: Wed, 1 Nov 2023 19:36:27 +0200 Message-Id: <20231101173627.2658-1-jose.pekkarinen@foxhound.fi> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Ovh-Tracer-Id: 10134788012345763331 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvkedruddtgedguddtvdcutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfqggfjpdevjffgvefmvefgnecuuegrihhlohhuthemucehtddtnecunecujfgurhephffvvefufffkofggtgfgsehtkeertdertdejnecuhfhrohhmpeflohhsrocurfgvkhhkrghrihhnvghnuceojhhoshgvrdhpvghkkhgrrhhinhgvnhesfhhogihhohhunhgurdhfiheqnecuggftrfgrthhtvghrnhepfedtleeuteeitedvtedtteeuieevudejfeffvdetfeekleehhfelleefteetjeejnecukfhppeduvdejrddtrddtrddupdekjedrleegrdduuddtrddvjedpfeejrdehledrudegvddruddtfeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpeduvdejrddtrddtrddupdhmrghilhhfrhhomhepoehjohhsvgdrphgvkhhkrghrihhnvghnsehfohighhhouhhnugdrfhhiqedpnhgspghrtghpthhtohepuddprhgtphhtthhopehlihhnuhigqdhkvghrnhgvlhesvhhgvghrrdhkvghrnhgvlhdrohhrghdpoffvtefjohhsthepmhhoheeitddpmhhouggvpehsmhhtphhouhht X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL, 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 X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Wed, 01 Nov 2023 11:13:05 -0700 (PDT) Hinted by syzboot, there is a few cases where the sysfs power group may not be there, like the failure while adding it, or adding its runtime group, or when the sysfs firmware loader fallback fail to populate. In the last case, the device_del function will be called leading to attempt to remove the sysfs group. This patch will lookup for it in advance to grant that it is effectively there before cleaning it up. Reported-by: syzbot+95f2e2439b97575ec3c0@syzkaller.appspotmail.com Signed-off-by: José Pekkarinen --- drivers/base/power/sysfs.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/base/power/sysfs.c b/drivers/base/power/sysfs.c index a1474fb67db9..6601729c4698 100644 --- a/drivers/base/power/sysfs.c +++ b/drivers/base/power/sysfs.c @@ -834,5 +834,7 @@ void dpm_sysfs_remove(struct device *dev) dev_pm_qos_constraints_destroy(dev); rpm_sysfs_remove(dev); sysfs_unmerge_group(&dev->kobj, &pm_wakeup_attr_group); - sysfs_remove_group(&dev->kobj, &pm_attr_group); + + if (kernfs_find_and_get((&dev->kobj)->sd, pm_attr_group.name)) + sysfs_remove_group(&dev->kobj, &pm_attr_group); } -- 2.39.2