From nobody Wed Oct 1 22:32:40 2025 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 B927C1FCF41; Fri, 26 Sep 2025 14:31:47 +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=1758897107; cv=none; b=mRTW8LNoUyufgXiFUNE8QXbQPJniQNxkb/FXgs+H1wWbyM5bUqlk9lPg3yUy5PUKGQy343gmlcW98E0WX0/pxwOWFvnIQ3Lsfhf+jQBjbVYLlInde2or63QlU0oK6uwuM8zDuqOGqwec1PV2mvv8XquD71yynecYq0oOaDVF9GY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758897107; c=relaxed/simple; bh=Aq9/CxkxJ1lEuJYOGVr9agApTYjSiYR55JD5C1vyWH4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Zs6V/xcb1tgOAKUFhDrf3ZPcxWEa36pZ/XozpZ0t4c87sq00XjJzS9xlEL1rWg4fWvOx4XtAPpN/Ucr1JG2IBV0UdFUzH+NC7r33SoS3X+m0MWCk91uk+lTM+fRJyn8vgMCvsroBymJ8GJZhXgDPQ3ki5J1/EOGywTT2Xn308V4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Kg0M0ffG; 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="Kg0M0ffG" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 63553C116C6; Fri, 26 Sep 2025 14:31:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1758897107; bh=Aq9/CxkxJ1lEuJYOGVr9agApTYjSiYR55JD5C1vyWH4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Kg0M0ffGkOLrH6jg3YfcXemLLFeRrFY5hxC7JlBmP5rUug6wjagPACN9xhQpgZEFv rql3muwPM7jrM5Gsd7IsB6yysVjBUTGilVAnvRQ9tmmrZztywdtsBHFQfbzCwoc6yg TPqSCgQ2fxr3K3D/PTBGIOev8RxmdOnmMWfw1WCHoQlhLG5W//mZZNAH7wkhAuTNX8 uUcHggpd9C3b47tHhyJgn2TRCLiYsupIwPtYB8gvGYlTiAH6bWQMe+77P4cE3y6Wxn 3Hh9fZwcVASeqjSBxkLpbVAo1g/9Fz+jcwsDbCJhsM19KyqvraevBYdmrc89NXi3oa MgejmwhowufxA== Received: from johan by xi.lan with local (Exim 4.98.2) (envelope-from ) id 1v29U4-000000001g2-3F6F; Fri, 26 Sep 2025 16:31:40 +0200 From: Johan Hovold To: Sven Peter , Janne Grunau Cc: Neal Gompa , asahi@lists.linux.dev, linux-kernel@vger.kernel.org, Johan Hovold , stable@vger.kernel.org Subject: [PATCH 1/2] soc: apple: mailbox: fix device leak on lookup Date: Fri, 26 Sep 2025 16:31:31 +0200 Message-ID: <20250926143132.6419-2-johan@kernel.org> X-Mailer: git-send-email 2.49.1 In-Reply-To: <20250926143132.6419-1-johan@kernel.org> References: <20250926143132.6419-1-johan@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Make sure to drop the reference taken to the mbox platform device when looking up its driver data. Note that holding a reference to a device does not prevent its driver data from going away so there is no point in keeping the reference. Fixes: 6e1457fcad3f ("soc: apple: mailbox: Add ASC/M3 mailbox driver") Cc: stable@vger.kernel.org # 6.8 Signed-off-by: Johan Hovold --- drivers/soc/apple/mailbox.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/drivers/soc/apple/mailbox.c b/drivers/soc/apple/mailbox.c index 49a0955e82d6..1685da1da23d 100644 --- a/drivers/soc/apple/mailbox.c +++ b/drivers/soc/apple/mailbox.c @@ -299,11 +299,18 @@ struct apple_mbox *apple_mbox_get(struct device *dev,= int index) return ERR_PTR(-EPROBE_DEFER); =20 mbox =3D platform_get_drvdata(pdev); - if (!mbox) - return ERR_PTR(-EPROBE_DEFER); + if (!mbox) { + mbox =3D ERR_PTR(-EPROBE_DEFER); + goto out_put_pdev; + } + + if (!device_link_add(dev, &pdev->dev, DL_FLAG_AUTOREMOVE_CONSUMER)) { + mbox =3D ERR_PTR(-ENODEV); + goto out_put_pdev; + } =20 - if (!device_link_add(dev, &pdev->dev, DL_FLAG_AUTOREMOVE_CONSUMER)) - return ERR_PTR(-ENODEV); +out_put_pdev: + put_device(&pdev->dev); =20 return mbox; } --=20 2.49.1 From nobody Wed Oct 1 22:32:40 2025 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 88151199385; Fri, 26 Sep 2025 14:31:47 +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=1758897107; cv=none; b=EQaqIdthTdZIVrxf1Wrk8n+yjHkziYdda4LoAScUjtdJ0kN1nQTeBTsxoNBirhVcXViGPO9UUNcRa490USinHDQC1vyI59B1BYzTjKJ2DU+pth/4MEM1Ta6dvD737RECchqwj4VRBsagDLyXQXOFVlMpBFZBifFmsbXg6xD4fJI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758897107; c=relaxed/simple; bh=OQcO92jUkLnjsTNz9W4cXXplFNHIhPbu+0qASGU4+x4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=C2rhYHc1bbL1X1tHzkP1HszIy7XCinLNiYJAGKTjaQamhEXjy7rvIb0nucfHbodlnixd+xF813Jsf8m4sCr2hYy6v0O6rHDfRf8ZVZX4Gmqt8v7WS6ndKtNSQ0vNnEnRy4b+Fw9hUOTzqVlXs0dTa3LJ5x4j7+Pu3cf+znH5RkU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=HpusbPte; 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="HpusbPte" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 41CE4C4CEF7; Fri, 26 Sep 2025 14:31:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1758897107; bh=OQcO92jUkLnjsTNz9W4cXXplFNHIhPbu+0qASGU4+x4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=HpusbPtegyRF5tS8YuUiVvGWFIJicNUJq3x6YhZetZ8ptCOa3egk8fLAE2VL102VQ Zn2/swzkDo6FqLgl+8S7IyWZSLZBnmCITWgV+ecTCFywWcOwF3nVuofmZzqSL8Cdk1 jvYYMeYsr1kV5/Zl+2JlEHCr86h+FtKPV0NDJN6FVUeHwFFTLbYm4ThxdCicV+6gnM rvymrdAE80e7NzjGYL36F+NbIGnBM110cio8Fj2LVsXaD1hZvApbZxNPReajdFaJGt 6nbf8eLNni3vQZgSHla2j6PR0XD6OVbnBP2SnOntb6dMXIJ233GXdNkkI5CKtFSXeT 9kbaKPqTK7XxA== Received: from johan by xi.lan with local (Exim 4.98.2) (envelope-from ) id 1v29U4-000000001g4-3fXP; Fri, 26 Sep 2025 16:31:40 +0200 From: Johan Hovold To: Sven Peter , Janne Grunau Cc: Neal Gompa , asahi@lists.linux.dev, linux-kernel@vger.kernel.org, Johan Hovold Subject: [PATCH 2/2] soc: apple: sart: drop device reference after lookup Date: Fri, 26 Sep 2025 16:31:32 +0200 Message-ID: <20250926143132.6419-3-johan@kernel.org> X-Mailer: git-send-email 2.49.1 In-Reply-To: <20250926143132.6419-1-johan@kernel.org> References: <20250926143132.6419-1-johan@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Holding a reference to a device does not prevent its driver data from going away so there is no point in keeping the reference after looking up the sart device. Signed-off-by: Johan Hovold --- drivers/soc/apple/sart.c | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/drivers/soc/apple/sart.c b/drivers/soc/apple/sart.c index afa111736899..6952afc41308 100644 --- a/drivers/soc/apple/sart.c +++ b/drivers/soc/apple/sart.c @@ -164,17 +164,11 @@ static int apple_sart_probe(struct platform_device *p= dev) return 0; } =20 -static void apple_sart_put_device(void *dev) -{ - put_device(dev); -} - struct apple_sart *devm_apple_sart_get(struct device *dev) { struct device_node *sart_node; struct platform_device *sart_pdev; struct apple_sart *sart; - int ret; =20 sart_node =3D of_parse_phandle(dev->of_node, "apple,sart", 0); if (!sart_node) @@ -192,14 +186,11 @@ struct apple_sart *devm_apple_sart_get(struct device = *dev) return ERR_PTR(-EPROBE_DEFER); } =20 - ret =3D devm_add_action_or_reset(dev, apple_sart_put_device, - &sart_pdev->dev); - if (ret) - return ERR_PTR(ret); - device_link_add(dev, &sart_pdev->dev, DL_FLAG_PM_RUNTIME | DL_FLAG_AUTOREMOVE_SUPPLIER); =20 + put_device(&sart_pdev->dev); + return sart; } EXPORT_SYMBOL_GPL(devm_apple_sart_get); --=20 2.49.1