From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 018D5391890; Sat, 28 Feb 2026 17:36:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772300219; cv=none; b=qfbgauisBUyN9x7V6RvBDXpPTkuICpOpisS1vYccw2VB42ImBtSrtJwKkmSEI7Nc/OUJ2qOcp8TESy1yXOwgvQid3p7rY7LfazAkpkUNIOUagcEmOB3yJs6FdwNNO1sJXMPtj4N/rCTLYlVTjFtTPUP5DeyWEvC4zKZq/DllJ6E= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772300219; c=relaxed/simple; bh=kuip02XYYUcT7Wff0IA+vk3H5TdO8JVrUUmowrLODW8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=LLHBsErdI6iqULmoPDkcUDt+XZe1T1S5wqRot+Sor4+iOpbpZwqRRyhX80WcRG3KXGfaNLcFG1YTz6PSbAA+dcDt7Yogq/Q7jpwiFoBoZhxDDanLCUwsJ3ge4keRNe7b3DNA9HZmsKrPyI/R8Mf7eWoxqEe+QvQYh7DR1wHrh14= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=bXi6gh+E; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="bXi6gh+E" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3F1E9C116D0; Sat, 28 Feb 2026 17:36:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1772300218; bh=kuip02XYYUcT7Wff0IA+vk3H5TdO8JVrUUmowrLODW8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=bXi6gh+Esnq7j9rFXVmLzCZ9Nw/kq2I+uN43FDlsiwLpJWRw6GUUBWxpN5fI+Qikp Z8x9KakJZaMun/kd+V4iuVkfVF5RpeRGOBq8V91/GhV9b/5pGWbkXRBFGxwiqeVPQK jC0ajJcc5Rr6+vvNc2pv2yHsGow2S6h/jMoVEu7ITbxveaqCj2wVRpE3NozoPso8JC g5eCS58y+HTIH3ValG8B03BqiLBpuVIdT9kowMAtx1GwtIUvUyNtkpUHh1lg5W+muw G+/T9NJCgDzb3tuGc3p8gmnD8Sl32upYf65FwmxvJYUwGjY4uE7wXJuvxlZ5B0RkDP obGbNEjqKYf4Q== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Ziyi Guo , Bartosz Golaszewski , Sasha Levin Subject: [PATCH 6.19 239/844] power: sequencing: fix missing state_lock in pwrseq_power_on() error path Date: Sat, 28 Feb 2026 12:22:32 -0500 Message-ID: <20260228173244.1509663-240-sashal@kernel.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20260228173244.1509663-1-sashal@kernel.org> References: <20260228173244.1509663-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: stable@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit From: Ziyi Guo [ Upstream commit e1dccb485c2876ac1318f36ccc0155416c633a48 ] pwrseq_power_on() calls pwrseq_unit_disable() when the post_enable callback fails. However, this call is outside the scoped_guard(mutex, &pwrseq->state_lock) block that ends. pwrseq_unit_disable() has lockdep_assert_held(&pwrseq->state_lock), which will fail when called from this error path. Add the scoped_guard block to cover the post_enable callback and its error handling to ensure the lock is held when pwrseq_unit_disable() is called. Signed-off-by: Ziyi Guo Link: https://patch.msgid.link/20260130182651.1576579-1-n7l8m4@u.northwestern.edu Signed-off-by: Bartosz Golaszewski Signed-off-by: Sasha Levin --- drivers/power/sequencing/core.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/power/sequencing/core.c b/drivers/power/sequencing/core.c index 190564e559885..1fcf0af7cc0bb 100644 --- a/drivers/power/sequencing/core.c +++ b/drivers/power/sequencing/core.c @@ -914,8 +914,10 @@ int pwrseq_power_on(struct pwrseq_desc *desc) if (target->post_enable) { ret = target->post_enable(pwrseq); if (ret) { - pwrseq_unit_disable(pwrseq, unit); - desc->powered_on = false; + scoped_guard(mutex, &pwrseq->state_lock) { + pwrseq_unit_disable(pwrseq, unit); + desc->powered_on = false; + } } } -- 2.51.0