From nobody Thu Apr 9 09:03:23 2026 Received: from bali.collaboradmins.com (bali.collaboradmins.com [148.251.105.195]) (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 7D639341076 for ; Mon, 9 Mar 2026 22:44:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.251.105.195 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773096278; cv=none; b=ki54iotcfVhfiNGsDl7QlvGirRCINHBa109Cc91tgOQDLFODffPa7ywg5C/4gDjnh5YZAZEgBLNsJ8lvQgt5rXqgNEChXwRtlVivEJMyaezdybiwN8nj3pwgpbCH6QRZdKNP18dpV4a28mQhoht1yg1BCTwQEheW1Dc9XV8s1WA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773096278; c=relaxed/simple; bh=dpoYWqd1QmnsLx6bOVdrexg1n+TySTa7C5ZjTOClS1o=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=vGa7dysCKf4rcqT5mno7QdChME+umrGFTLFze4qHP4J3p+Ha32pckSErUrrS5/j5ISCtsdTD3tx83KpyxawWJ8clnJ1YTAbhizu/HCgheHfn6SRFvPKCN8ys3W6YxGf1iZ8v4Hi8heThAID0WdwDL8ILCizhPMYg5fBkhZ8x+1k= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com; spf=pass smtp.mailfrom=collabora.com; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b=BDGt3WnV; arc=none smtp.client-ip=148.251.105.195 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=collabora.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b="BDGt3WnV" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1773096276; bh=dpoYWqd1QmnsLx6bOVdrexg1n+TySTa7C5ZjTOClS1o=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=BDGt3WnV/+KDx04oFzXpElqRJPUvtWXYPd0VrbZD055scylK7utBd1GY7TmniykIz RlIMxip9hMerUOiQdzakMlfOQv71hnUc7yfE1OM0JabFOR9/sk72L1t56bJOklgkQ9 8F+GL9B26O8BfLN9BBlvAh9gXL5EQAyUEH4qdDdlOs2fbGA6iJcfyYnkbujm+lTJGK 7EcD7tQD8kdEz8SfRmat8TBOPiVj4DO81/4RleNSuv2cdBoX2kQV/Id/ZaxoyLGcFh Q4tMxbZsVhOpx0RMJf3130PkpBbBDTmbVckc3EzHqomDnmafs7DHbvLKQiAntu8XXl HZeAM9YfW5fxg== Received: from localhost (unknown [86.123.23.225]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: cristicc) by bali.collaboradmins.com (Postfix) with ESMTPSA id D7E1D17E041C; Mon, 9 Mar 2026 23:44:35 +0100 (CET) From: Cristian Ciocaltea Date: Tue, 10 Mar 2026 00:44:29 +0200 Subject: [PATCH v2 1/8] drm/rockchip: inno-hdmi: Switch to drmm_kzalloc() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260310-drm-rk-fixes-v2-1-645ecfb43f49@collabora.com> References: <20260310-drm-rk-fixes-v2-0-645ecfb43f49@collabora.com> In-Reply-To: <20260310-drm-rk-fixes-v2-0-645ecfb43f49@collabora.com> To: Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Dmitry Baryshkov , Dmitry Baryshkov , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec Cc: kernel@collabora.com, dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.14.3 Driver makes use of drmm_encoder_init() to initialize the encoder and automatically handle the cleanup by registering drm_encoder_cleanup() with drmm_add_action(). However, the internal structure containing the encoder part gets allocated with devm_kzalloc(), which happens while component_bind_all() is being called from Rockchip DRM driver. The component framework further ensures it is deallocated as part of releasing all the resources claimed during bind, which is triggered from component_unbind_all(). When the reference to the DRM device gets eventually dropped via drm_dev_put() in rockchip_drm_unbind(), drmm_encoder_alloc_release() attempts to access the now released encoder structure, leading to use-after-free. Ensure driver's internal structure is still reachable on encoder cleanup by switching from a device-managed allocation to a drm-managed one. Fixes: 969325a2597e ("drm/rockchip: inno-hdmi: Convert to drm bridge") Signed-off-by: Cristian Ciocaltea --- drivers/gpu/drm/rockchip/inno_hdmi-rockchip.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/rockchip/inno_hdmi-rockchip.c b/drivers/gpu/dr= m/rockchip/inno_hdmi-rockchip.c index 97c20500f790..28e6fb09aae7 100644 --- a/drivers/gpu/drm/rockchip/inno_hdmi-rockchip.c +++ b/drivers/gpu/drm/rockchip/inno_hdmi-rockchip.c @@ -14,6 +14,7 @@ =20 #include #include +#include #include =20 #include "rockchip_drm_drv.h" @@ -90,7 +91,7 @@ static int inno_hdmi_rockchip_bind(struct device *dev, st= ruct device *master, vo const struct inno_hdmi_plat_data *plat_data; int ret; =20 - hdmi =3D devm_kzalloc(dev, sizeof(*hdmi), GFP_KERNEL); + hdmi =3D drmm_kzalloc(drm, sizeof(*hdmi), GFP_KERNEL); if (!hdmi) return -ENOMEM; =20 --=20 2.52.0 From nobody Thu Apr 9 09:03:23 2026 Received: from bali.collaboradmins.com (bali.collaboradmins.com [148.251.105.195]) (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 6C58137D130 for ; Mon, 9 Mar 2026 22:44:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.251.105.195 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773096279; cv=none; b=rjfontHyrCqbB3CFPtG0SoXFdFjRN6JGaTBWq0VdzwgZim1W57rY14URyUNajAyygtUPDdJG3lI8q9QPrdUyv9f08t02GPw7YqZ/zVZMvmpDIbsQE1FxbihAxrCiJexHL/WgKy7PMzlvMrHh0ye1Ae8tOLnd9d1KDLK/PB0u21M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773096279; c=relaxed/simple; bh=rYpWUQ3mqz6uob7ZfihmWRD74dfEUvjuf4DnktKdAMg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ZLoMhJ/lGcP1TcXAllenH9FP1dwDR/rDWI+VbcoFnh6qWD2jjBzb6j+SqazIHo6LzSe4CNSGcW4VeB+kOpoA6bySvcrMGpsn0wNTSEuQBj5EDHpekHef3RqZYyyQWdvGYMp2mE6bCfIbgo2sIEWi0mUIQnMrXZZma93oQ6FSpik= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com; spf=pass smtp.mailfrom=collabora.com; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b=aunrSO1M; arc=none smtp.client-ip=148.251.105.195 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=collabora.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b="aunrSO1M" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1773096276; bh=rYpWUQ3mqz6uob7ZfihmWRD74dfEUvjuf4DnktKdAMg=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=aunrSO1MagiS8C5tdB6lao0fJGtJOnXf+tTwv/et9GTZoYycDr8PMTsWq0kD1VA7l OvywJCKo9oa6KL9wHuxLc+VOFQ0zCMakhXHHkubEqmQ/pb6p44XGywsK1iAnKAmZjI Ye3+RBr5S0S48Fzb+JnWIkLF0lsByfB7n/bj54ksU/Eh3q75TQqWLBYW9zeFVxrHaE 82/lL9PaWjBy9opQOeiazGpttp7lz+hD1c1vdwEq11Iz9c1eJBhBaRbfAfBZwDbnzX FieQ8r6tBTMwWfmEcGfBXhui/GWC4nYeVmjyc2CDtRl4GdFNK4NJ3M+33s63Adyuss Oh7t3d3cY8IIg== Received: from localhost (unknown [86.123.23.225]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: cristicc) by bali.collaboradmins.com (Postfix) with ESMTPSA id C29A217E048B; Mon, 9 Mar 2026 23:44:36 +0100 (CET) From: Cristian Ciocaltea Date: Tue, 10 Mar 2026 00:44:30 +0200 Subject: [PATCH v2 2/8] drm/rockchip: dw_dp: Switch to drmm_kzalloc() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260310-drm-rk-fixes-v2-2-645ecfb43f49@collabora.com> References: <20260310-drm-rk-fixes-v2-0-645ecfb43f49@collabora.com> In-Reply-To: <20260310-drm-rk-fixes-v2-0-645ecfb43f49@collabora.com> To: Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Dmitry Baryshkov , Dmitry Baryshkov , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec Cc: kernel@collabora.com, dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.14.3 Driver makes use of drmm_encoder_init() to initialize the encoder and automatically handle the cleanup by registering drm_encoder_cleanup() with drmm_add_action(). However, the internal structure containing the encoder part gets allocated with devm_kzalloc(), which happens while component_bind_all() is being called from Rockchip DRM driver. The component framework further ensures it is deallocated as part of releasing all the resources claimed during bind, which is triggered from component_unbind_all(). When the reference to the DRM device gets eventually dropped via drm_dev_put() in rockchip_drm_unbind(), drmm_encoder_alloc_release() attempts to access the now released encoder structure, leading to use-after-free. Ensure driver's internal structure is still reachable on encoder cleanup by switching from a device-managed allocation to a drm-managed one. Fixes: d68ba7bac955 ("drm/rockchip: Add RK3588 DPTX output support") Signed-off-by: Cristian Ciocaltea --- drivers/gpu/drm/rockchip/dw_dp-rockchip.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/rockchip/dw_dp-rockchip.c b/drivers/gpu/drm/ro= ckchip/dw_dp-rockchip.c index dac3d202971e..532af476d250 100644 --- a/drivers/gpu/drm/rockchip/dw_dp-rockchip.c +++ b/drivers/gpu/drm/rockchip/dw_dp-rockchip.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include #include @@ -82,7 +83,7 @@ static int dw_dp_rockchip_bind(struct device *dev, struct= device *master, void * struct drm_connector *connector; int ret; =20 - dp =3D devm_kzalloc(dev, sizeof(*dp), GFP_KERNEL); + dp =3D drmm_kzalloc(drm_dev, sizeof(*dp), GFP_KERNEL); if (!dp) return -ENOMEM; =20 --=20 2.52.0 From nobody Thu Apr 9 09:03:23 2026 Received: from bali.collaboradmins.com (bali.collaboradmins.com [148.251.105.195]) (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 7214D38F92A for ; Mon, 9 Mar 2026 22:44:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.251.105.195 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773096280; cv=none; b=r6SqshyDkn4yYSVyYHJ+dt8P3Vx6GAniOYKYjmA695sUgBEnP3uaNWHdcTlQSCl1Fe+TEDK64ck+cJ9ah2ROMx8nu2N3ANfX9OCv9QuhcYokOhNIiuh7n3k5PbpzhF7H3bvIjrn97DfhDvTAvsftLKkqIjpBd1TnLhUzmnJYnpU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773096280; c=relaxed/simple; bh=hOzfYzjHemquzVHS6LN19cOYz515Qjqf1oSNrVOyMIc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=hdXNUoA+TM2vxyD1ydw2eg3k6GH9WDc5Dqvg60gXf8xCIDtiC1NES6HKgiGPxE7ypWS/FNeNTE1BezKfhU07PUGrZAjOG4VTFX4IxnXCUubK7euYum2fBCF3Wd3rfgvNz2ekaNw4ln4iFWc4Tejdi91E8rlkvIzRjc2gDweuRUU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com; spf=pass smtp.mailfrom=collabora.com; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b=JX1kf8QX; arc=none smtp.client-ip=148.251.105.195 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=collabora.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b="JX1kf8QX" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1773096277; bh=hOzfYzjHemquzVHS6LN19cOYz515Qjqf1oSNrVOyMIc=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=JX1kf8QXj19XAJD1NqoXFv+ekqZhcXk0EMTNQYIZN1BawzQEYmzl7IZNqRYYSzciu Jx8TMGbmZXKxy46Ww/mb4yO6O2rGrjOrsAGffAdB4ZzDJPb80WqfVDQxUIJUTQmri0 9HZt5NTNa1h+DnUmLcvJ+JoyvUjhmabNWxHWBRD+vn3JXSz+Dg0pbXl29gQk3177fC BUbUXvqNnkRzSykHeatLgGbcVoHs4aaKKVGX9y847/f7mE9AZfa1kZOfPhocUGxY3E lEpjhWrGKYC0+gRSdCb1fGktig4nuzlmyyTett09JbDlylDSUUzS6P75/OCnL8gAVr U23LwIRGq3vIQ== Received: from localhost (unknown [86.123.23.225]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: cristicc) by bali.collaboradmins.com (Postfix) with ESMTPSA id A7CFE17E0EFE; Mon, 9 Mar 2026 23:44:37 +0100 (CET) From: Cristian Ciocaltea Date: Tue, 10 Mar 2026 00:44:31 +0200 Subject: [PATCH v2 3/8] drm/rockchip: dw_dp: Fix null-ptr-deref in dw_dp_remove() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260310-drm-rk-fixes-v2-3-645ecfb43f49@collabora.com> References: <20260310-drm-rk-fixes-v2-0-645ecfb43f49@collabora.com> In-Reply-To: <20260310-drm-rk-fixes-v2-0-645ecfb43f49@collabora.com> To: Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Dmitry Baryshkov , Dmitry Baryshkov , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec Cc: kernel@collabora.com, dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.14.3 Attempting to access driver data in the platform driver ->remove() callback may lead to a null pointer dereference since there is no guaranty that the component ->bind() callback invoking platform_set_drvdata() was executed. A common scenario is when Rockchip DRM driver didn't manage to run component_bind_all() because of an (unrelated) error causing early return from rockchip_drm_bind(). Drop the unnecessary call to platform_get_drvdata() and, instead, reference the target device structure via platform_device. Fixes: d68ba7bac955 ("drm/rockchip: Add RK3588 DPTX output support") Signed-off-by: Cristian Ciocaltea --- drivers/gpu/drm/rockchip/dw_dp-rockchip.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/gpu/drm/rockchip/dw_dp-rockchip.c b/drivers/gpu/drm/ro= ckchip/dw_dp-rockchip.c index 532af476d250..8945a245398c 100644 --- a/drivers/gpu/drm/rockchip/dw_dp-rockchip.c +++ b/drivers/gpu/drm/rockchip/dw_dp-rockchip.c @@ -133,9 +133,7 @@ static int dw_dp_probe(struct platform_device *pdev) =20 static void dw_dp_remove(struct platform_device *pdev) { - struct rockchip_dw_dp *dp =3D platform_get_drvdata(pdev); - - component_del(dp->dev, &dw_dp_rockchip_component_ops); + component_del(&pdev->dev, &dw_dp_rockchip_component_ops); } =20 static const struct dw_dp_plat_data rk3588_dp_plat_data =3D { --=20 2.52.0 From nobody Thu Apr 9 09:03:23 2026 Received: from bali.collaboradmins.com (bali.collaboradmins.com [148.251.105.195]) (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 1D2113CE488 for ; Mon, 9 Mar 2026 22:44:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.251.105.195 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773096281; cv=none; b=NeEpXlwyziVST1yBXOM4QQrT3OO7d0wG+uG2RonDBpnAGlVaEAXUUaDRSnRUFzoioKqBI9j5sJ2v30JIWEQf6aqFLVrOCkOaS5ZTClwHcRAnCFcDDZodvnJhdSJT7gYw31t0/hutIgCSlWFWppSgZVkmb3nxrthYAuyr7PKibcU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773096281; c=relaxed/simple; bh=/aWzPrhPaX/fvhpltlRILH+gCS9UQ9O4Q1B1Jw1D6r4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=iDrBjA+EYR6t/tAlQ4Ii15dixEYrXD/s9F/k6w0NQuOlg+YUQKyMM/0EFA6hvRSZCLWPK2QIUyQyl4evCTLkuqLzeGIaJf4f8f04lbk2ejqx8Cis50Qz3E4ZsRo/mFAGEi1Yf0sY3JJaisvUIKBx8YMn3E1K2j09Cd5hPf7Lbyg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com; spf=pass smtp.mailfrom=collabora.com; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b=MbVoeMbB; arc=none smtp.client-ip=148.251.105.195 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=collabora.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b="MbVoeMbB" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1773096278; bh=/aWzPrhPaX/fvhpltlRILH+gCS9UQ9O4Q1B1Jw1D6r4=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=MbVoeMbBw0svxz3PtZw/Xg41rg5Z9j2LZ4MRo29djyJOQeLKdTFUwRlRMb9r1haQb NuyYO18qTEGCrTyHuJDzdUQfb8OP52uqbp++1jmYF8+oq9PhXcdv5oir4i5GEyTz5Q k+x0XNem96IC9GfR/IwcIaQdmkS4VhajFPORNxgi5GMcIcA/9uDNmXrS/JcmZoS771 c5PC5LMEGLs67VMhS9fSdpWv7FzO/AhwSdkz1B2KuPP/ybNcPyubWGO5EGZjeLUV68 oUoqPv2Exwgo0AYVR/dBlTa3JtqMncO9a3IGkz1aYDQ8qhvjzE4uTrh0Lay4nKjfuW uhPMx9ToaFtaw== Received: from localhost (unknown [86.123.23.225]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: cristicc) by bali.collaboradmins.com (Postfix) with ESMTPSA id 7199417E09AC; Mon, 9 Mar 2026 23:44:38 +0100 (CET) From: Cristian Ciocaltea Date: Tue, 10 Mar 2026 00:44:32 +0200 Subject: [PATCH v2 4/8] drm/rockchip: dw_dp: Simplify error handling Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260310-drm-rk-fixes-v2-4-645ecfb43f49@collabora.com> References: <20260310-drm-rk-fixes-v2-0-645ecfb43f49@collabora.com> In-Reply-To: <20260310-drm-rk-fixes-v2-0-645ecfb43f49@collabora.com> To: Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Dmitry Baryshkov , Dmitry Baryshkov , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec Cc: kernel@collabora.com, dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.14.3 Make the code a bit more compact by getting rid of the superfluous assignments around PTR_ERR(). While at it, also drop dev assignment in dw_dp_probe(). Signed-off-by: Cristian Ciocaltea --- drivers/gpu/drm/rockchip/dw_dp-rockchip.c | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/drivers/gpu/drm/rockchip/dw_dp-rockchip.c b/drivers/gpu/drm/ro= ckchip/dw_dp-rockchip.c index 8945a245398c..fafefee8370d 100644 --- a/drivers/gpu/drm/rockchip/dw_dp-rockchip.c +++ b/drivers/gpu/drm/rockchip/dw_dp-rockchip.c @@ -104,20 +104,15 @@ static int dw_dp_rockchip_bind(struct device *dev, st= ruct device *master, void * drm_encoder_helper_add(encoder, &dw_dp_encoder_helper_funcs); =20 dp->base =3D dw_dp_bind(dev, encoder, plat_data); - if (IS_ERR(dp->base)) { - ret =3D PTR_ERR(dp->base); - return ret; - } + if (IS_ERR(dp->base)) + return PTR_ERR(dp->base); =20 connector =3D drm_bridge_connector_init(drm_dev, encoder); - if (IS_ERR(connector)) { - ret =3D PTR_ERR(connector); - return dev_err_probe(dev, ret, "Failed to init bridge connector"); - } + if (IS_ERR(connector)) + return dev_err_probe(dev, PTR_ERR(connector), + "Failed to init bridge connector"); =20 - drm_connector_attach_encoder(connector, encoder); - - return 0; + return drm_connector_attach_encoder(connector, encoder); } =20 static const struct component_ops dw_dp_rockchip_component_ops =3D { @@ -126,9 +121,7 @@ static const struct component_ops dw_dp_rockchip_compon= ent_ops =3D { =20 static int dw_dp_probe(struct platform_device *pdev) { - struct device *dev =3D &pdev->dev; - - return component_add(dev, &dw_dp_rockchip_component_ops); + return component_add(&pdev->dev, &dw_dp_rockchip_component_ops); } =20 static void dw_dp_remove(struct platform_device *pdev) --=20 2.52.0 From nobody Thu Apr 9 09:03:23 2026 Received: from bali.collaboradmins.com (bali.collaboradmins.com [148.251.105.195]) (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 BC02738F251 for ; Mon, 9 Mar 2026 22:44:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.251.105.195 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773096282; cv=none; b=OMmx62aDTzwFa8Vh7vVyfTozXQkHgdeIeuQ8IbIxu9u4bQwixcuVkBLbAxsLB2Wya+jGC77Cl22RJlwfCUm3VmVzPp4pErflLjfd4KdXfxcnkT4TPhRb1Zxrliik0o9JrM2njPiFa+fRFp0V8dLlESoCGLqmI2AEEvogGj7MOTo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773096282; c=relaxed/simple; bh=sNdKtno5ECegmJwsSLYZy9+Ay7ieHE0bT5CiSOlA5ag=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=epzWadONsY+/9bdvKVMqe7lQmh8om4TMWXeUi7FMbbhA/brIU3klLqw6f8HHShPf77gRK8RJ9/z5xdQ8ZsgqoRBuYp5B/9+QVg18YJLlboqYa74oU+OqZy83Gsh4Y8IS0MISCjhYjSisRYYoV1P7v4lEwqC+2RSKdGPMlv1Ncvs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com; spf=pass smtp.mailfrom=collabora.com; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b=UDS4aDeS; arc=none smtp.client-ip=148.251.105.195 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=collabora.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b="UDS4aDeS" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1773096279; bh=sNdKtno5ECegmJwsSLYZy9+Ay7ieHE0bT5CiSOlA5ag=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=UDS4aDeSzvFEedKicj1N2faotsMbVqMgvpsACPDxW3cVghSbfAdOKxzu3SLaP4DFs fM1tml9fIoVv9/ez5TVrjXrrRnyyZSCAIKMxzwVfMrcG5u5snO1BtDP7WpOB7x7+Xh tQM3GrpLB6dPeFk5Ddy2ieeQx4jT/Z975CinOqah4MHkSc0RZawR6ov9rR/uWhB5/I EQHociu7cjTIGvAdF8gcdkkK9CAC3CAK1/nQZuUUbwVqlQL+EV+k/STWaYuNQpSFaI x1Ngc14RY5LoYpG8rRNiqebEbGXXDChtzemd7A7c8tDI+Xww1XgH4FhVnZHYgIckZv kdaXw6JtENFCA== Received: from localhost (unknown [86.123.23.225]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: cristicc) by bali.collaboradmins.com (Postfix) with ESMTPSA id 436CC17E0E91; Mon, 9 Mar 2026 23:44:39 +0100 (CET) From: Cristian Ciocaltea Date: Tue, 10 Mar 2026 00:44:33 +0200 Subject: [PATCH v2 5/8] drm/rockchip: dw_dp: Drop unnecessary #include Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260310-drm-rk-fixes-v2-5-645ecfb43f49@collabora.com> References: <20260310-drm-rk-fixes-v2-0-645ecfb43f49@collabora.com> In-Reply-To: <20260310-drm-rk-fixes-v2-0-645ecfb43f49@collabora.com> To: Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Dmitry Baryshkov , Dmitry Baryshkov , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec Cc: kernel@collabora.com, dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.14.3 Included header "rockchip_drm_vop.h" is not directly used, drop it. While at it, ensure #include directives are ordered alphabetically. Signed-off-by: Cristian Ciocaltea --- drivers/gpu/drm/rockchip/dw_dp-rockchip.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/rockchip/dw_dp-rockchip.c b/drivers/gpu/drm/ro= ckchip/dw_dp-rockchip.c index fafefee8370d..22c0911f1896 100644 --- a/drivers/gpu/drm/rockchip/dw_dp-rockchip.c +++ b/drivers/gpu/drm/rockchip/dw_dp-rockchip.c @@ -7,8 +7,11 @@ */ =20 #include +#include #include #include +#include + #include #include #include @@ -19,11 +22,7 @@ #include #include =20 -#include -#include - #include "rockchip_drm_drv.h" -#include "rockchip_drm_vop.h" =20 struct rockchip_dw_dp { struct dw_dp *base; --=20 2.52.0 From nobody Thu Apr 9 09:03:23 2026 Received: from bali.collaboradmins.com (bali.collaboradmins.com [148.251.105.195]) (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 8A2053ACA5F for ; Mon, 9 Mar 2026 22:44:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.251.105.195 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773096289; cv=none; b=bBgopwgbukxS4k2lI81zobZX5et7oTAUzbgwcx7RYrgUChF/v5H/6lm5IPpHCnEdDw6cun+I3EwmvV8IwSD7cqEm5w7NsY4DK7Bu7JJRJsEpsmwMeukcY35DbVTVtPE3EW9BGHkGm7iX4/LqNCEgEApYq28EdsnOMKSt8dpHQdg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773096289; c=relaxed/simple; bh=xo9QQHStfDCiwvrnX8gYefgXw8+E1okyws1RbyegTa0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Mx8+76+rDrfLo5z1lQS1FisX1gAw9HpbWLke4JVYM4Grnx63Ss2WcP/Xuse+d/EnN4cXtVvM9tL1p9DTPOeMoRGoUgxuWabiReyaVDhNYwsuS/AsJFtBlCaTOhrKlUPPx8XxAD2mmsYj61KOhGFadT+RRiKfqck1f5wLeJ+BkAE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com; spf=pass smtp.mailfrom=collabora.com; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b=MUFshNDn; arc=none smtp.client-ip=148.251.105.195 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=collabora.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b="MUFshNDn" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1773096280; bh=xo9QQHStfDCiwvrnX8gYefgXw8+E1okyws1RbyegTa0=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=MUFshNDnweRPVChi7qrfjHfFwSRVdiL0b8XAczr8uMsJgXplY368+FKUdzYsEGzs/ huMI0Nj7Q/ZDzrO+C1b7CkGzyoP+lXQ2Lx300BDdRjgE1vaA0SaAfBGd9ZSJqy4nyH b6n9saTioLsDBoZqYyuwuQGzsYLRIEIanGSdYoEBHIZT6djgr1DJ5zUH7ksceM9pru OlAE42H91N6AJg7Y8FzrJ7bzRl4Ndoi29HFWjRm67IN1eujpqMj7RCLX+wRqRLm1Lc TfG5M2LX9YapR8o4tXkj4QPinBNx7lBDv6EyLhKoyxg0s+GlBOHQzJlATFSjYYK4Sg 1ytIwnlRQa6sQ== Received: from localhost (unknown [86.123.23.225]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: cristicc) by bali.collaboradmins.com (Postfix) with ESMTPSA id 1768217E0EB0; Mon, 9 Mar 2026 23:44:40 +0100 (CET) From: Cristian Ciocaltea Date: Tue, 10 Mar 2026 00:44:34 +0200 Subject: [PATCH v2 6/8] drm/rockchip: dw_hdmi_qp: Switch to drmm_encoder_init() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260310-drm-rk-fixes-v2-6-645ecfb43f49@collabora.com> References: <20260310-drm-rk-fixes-v2-0-645ecfb43f49@collabora.com> In-Reply-To: <20260310-drm-rk-fixes-v2-0-645ecfb43f49@collabora.com> To: Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Dmitry Baryshkov , Dmitry Baryshkov , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec Cc: kernel@collabora.com, dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.14.3 Simplify encoder initialization and cleanup by making use of drmm_encoder_init(), which takes care of registering drm_encoder_cleanup() with drmm_add_action(). Signed-off-by: Cristian Ciocaltea --- drivers/gpu/drm/rockchip/dw_hdmi_qp-rockchip.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/drivers/gpu/drm/rockchip/dw_hdmi_qp-rockchip.c b/drivers/gpu/d= rm/rockchip/dw_hdmi_qp-rockchip.c index 1a09bcc96c3e..c78db7f8ab6c 100644 --- a/drivers/gpu/drm/rockchip/dw_hdmi_qp-rockchip.c +++ b/drivers/gpu/drm/rockchip/dw_hdmi_qp-rockchip.c @@ -21,6 +21,7 @@ #include #include #include +#include #include #include #include @@ -477,7 +478,7 @@ static int dw_hdmi_qp_rockchip_bind(struct device *dev,= struct device *master, if (!pdev->dev.of_node) return -ENODEV; =20 - hdmi =3D devm_kzalloc(&pdev->dev, sizeof(*hdmi), GFP_KERNEL); + hdmi =3D drmm_kzalloc(drm, sizeof(*hdmi), GFP_KERNEL); if (!hdmi) return -ENOMEM; =20 @@ -586,16 +587,16 @@ static int dw_hdmi_qp_rockchip_bind(struct device *de= v, struct device *master, return ret; =20 drm_encoder_helper_add(encoder, &dw_hdmi_qp_rockchip_encoder_helper_funcs= ); - drm_simple_encoder_init(drm, encoder, DRM_MODE_ENCODER_TMDS); + ret =3D drmm_encoder_init(drm, encoder, NULL, DRM_MODE_ENCODER_TMDS, NULL= ); + if (ret) + return dev_err_probe(hdmi->dev, ret, "Failed to init encoder"); =20 platform_set_drvdata(pdev, hdmi); =20 hdmi->hdmi =3D dw_hdmi_qp_bind(pdev, encoder, &plat_data); - if (IS_ERR(hdmi->hdmi)) { - drm_encoder_cleanup(encoder); + if (IS_ERR(hdmi->hdmi)) return dev_err_probe(hdmi->dev, PTR_ERR(hdmi->hdmi), "Failed to bind dw-hdmi-qp"); - } =20 connector =3D drm_bridge_connector_init(drm, encoder); if (IS_ERR(connector)) @@ -612,8 +613,6 @@ static void dw_hdmi_qp_rockchip_unbind(struct device *d= ev, struct rockchip_hdmi_qp *hdmi =3D dev_get_drvdata(dev); =20 cancel_delayed_work_sync(&hdmi->hpd_work); - - drm_encoder_cleanup(&hdmi->encoder.encoder); } =20 static const struct component_ops dw_hdmi_qp_rockchip_ops =3D { --=20 2.52.0 From nobody Thu Apr 9 09:03:23 2026 Received: from bali.collaboradmins.com (bali.collaboradmins.com [148.251.105.195]) (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 89C0138F92B for ; Mon, 9 Mar 2026 22:44:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.251.105.195 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773096290; cv=none; b=m21ffgBP1Qd9gp3Sc2+Y7SOmAxnNWDLkYVVF6X5n86MZ9pgAj01J5aRcd3XhOwKNh9A0roqP/uMhMsHYlaKLDhLSndubJP5N13m8dMjcYNeGxye1T4oWtQMrY4Re+Thrnx6QXCkaI3ZF5UFThOZdbfIR2uHhyaBcDS1vqjmUoDE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773096290; c=relaxed/simple; bh=G0L1ZFdJ8ipmt4Cudovn7XKwjKaSlysZ1PuC86cYCI0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=nCAnw3l5znBNDKlh2W1/TvKtnuAjGo/9Sa3RxI+1RkH5CnHczWPJHPyUM/SbA32x6gqBHiSS7venAuQGjSznoYfW0lT3YUQoYqU1yJ4fZqWq48o8e6yl+VeCvgbr1gQWYNcHzTsB/sh1SPp5GRjCWkthmhhFlaDrR/Uih39+4rA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com; spf=pass smtp.mailfrom=collabora.com; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b=omj7jF6u; arc=none smtp.client-ip=148.251.105.195 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=collabora.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b="omj7jF6u" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1773096281; bh=G0L1ZFdJ8ipmt4Cudovn7XKwjKaSlysZ1PuC86cYCI0=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=omj7jF6uFnTcbRu1si/OQtMQudraGEkTfgicmtwrBTIcIk91vZ9o2rPp7+dhtIMhh jhYexQp1MkrWyaTi1zd6iNXne+OJIr+1g8jAqhYb7QvfTbgXWdIUu2Ga+JGXVUjsjs vNChTJf/KeQ7O+oSrAeLbmH+PBVgyBKCuE9mYFYyUv1R9rwBlniF6wZTIuwMM9XnAY NvhCsfp7TQ0YwpObix5nkJbA46RrFGdywvgHNHUiAmDNR6FwiHl8fu5XA8FQRol1ob 9btMxmtl6ZKDFyRncU+k2pRiDoXeQVLEiWgm42TuAR1RSSmI1oNAIOuW8YZqPZvkEO nrv95qDQ4Um+Q== Received: from localhost (unknown [86.123.23.225]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: cristicc) by bali.collaboradmins.com (Postfix) with ESMTPSA id D282117E13CB; Mon, 9 Mar 2026 23:44:40 +0100 (CET) From: Cristian Ciocaltea Date: Tue, 10 Mar 2026 00:44:35 +0200 Subject: [PATCH v2 7/8] drm/bridge: synopsys: dw-dp: Unregister AUX channel on bridge detach Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260310-drm-rk-fixes-v2-7-645ecfb43f49@collabora.com> References: <20260310-drm-rk-fixes-v2-0-645ecfb43f49@collabora.com> In-Reply-To: <20260310-drm-rk-fixes-v2-0-645ecfb43f49@collabora.com> To: Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Dmitry Baryshkov , Dmitry Baryshkov , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec Cc: kernel@collabora.com, dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.14.3 The DisplayPort AUX channel gets initialized and registered during dw_dp_bind(), but it is never unregistered, which may lead to resource leaks and/or use-after-free: [ 224.661371] BUG: KASAN: slab-use-after-free in device_is_dependent+0xe0/= 0x2b0 [ 224.662015] Read of size 8 at addr ffff00011aee8550 by task modprobe/658 ... [ 224.662796] device_is_dependent+0xe0/0x2b0 [ 224.662802] device_is_dependent+0x108/0x2b0 [ 224.662808] device_link_add+0x1f8/0x10b0 [ 224.662813] devm_of_phy_get_by_index+0x120/0x200 [ 224.662819] dw_dp_bind+0x34c/0xb10 [dw_dp] [ 224.662830] dw_dp_rockchip_bind+0x194/0x250 [rockchipdrm] [ 224.662864] component_bind_all+0x3a8/0x720 [ 224.662869] rockchip_drm_bind+0x120/0x390 [rockchipdrm] [ 224.662899] try_to_bring_up_aggregate_device+0x76c/0x838 [ 224.662904] component_master_add_with_match+0x1f4/0x230 [ 224.662909] rockchip_drm_platform_probe+0x420/0x538 [rockchipdrm] [ 224.662939] platform_probe+0xe8/0x168 [ 224.662945] really_probe+0x340/0x828 [ 224.662950] __driver_probe_device+0x2e0/0x350 [ 224.662954] driver_probe_device+0x80/0x140 [ 224.662959] __driver_attach+0x398/0x460 [ 224.662964] bus_for_each_dev+0xe0/0x198 [ 224.662968] driver_attach+0x50/0x68 [ 224.662972] bus_add_driver+0x2a0/0x4c0 [ 224.662977] driver_register+0x294/0x360 [ 224.662982] __platform_driver_register+0x7c/0x98 [ 224.662987] rockchip_drm_init+0xc4/0xff8 [rockchipdrm] ... Unregister the AUX adapter on bridge detach. Fixes: 86eecc3a9c2e ("drm/bridge: synopsys: Add DW DPTX Controller support = library") Signed-off-by: Cristian Ciocaltea --- drivers/gpu/drm/bridge/synopsys/dw-dp.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/gpu/drm/bridge/synopsys/dw-dp.c b/drivers/gpu/drm/brid= ge/synopsys/dw-dp.c index e7bef9150f6a..8d02f047693a 100644 --- a/drivers/gpu/drm/bridge/synopsys/dw-dp.c +++ b/drivers/gpu/drm/bridge/synopsys/dw-dp.c @@ -1751,6 +1751,13 @@ static const struct drm_edid *dw_dp_bridge_edid_read= (struct drm_bridge *bridge, return edid; } =20 +static void dw_dp_bridge_detach(struct drm_bridge *bridge) +{ + struct dw_dp *dp =3D bridge_to_dp(bridge); + + drm_dp_aux_unregister(&dp->aux); +} + static u32 *dw_dp_bridge_atomic_get_output_bus_fmts(struct drm_bridge *bri= dge, struct drm_bridge_state *bridge_state, struct drm_crtc_state *crtc_state, @@ -1824,6 +1831,7 @@ static const struct drm_bridge_funcs dw_dp_bridge_fun= cs =3D { .atomic_disable =3D dw_dp_bridge_atomic_disable, .detect =3D dw_dp_bridge_detect, .edid_read =3D dw_dp_bridge_edid_read, + .detach =3D dw_dp_bridge_detach, }; =20 static int dw_dp_link_retrain(struct dw_dp *dp) --=20 2.52.0 From nobody Thu Apr 9 09:03:23 2026 Received: from bali.collaboradmins.com (bali.collaboradmins.com [148.251.105.195]) (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 3E6C238B7C0 for ; Mon, 9 Mar 2026 22:44:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.251.105.195 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773096291; cv=none; b=r5DJiGwn1KwfRRPX5VEdDRVBw38YdRc2/Oz66vS03b+YA3H+cfVgSfmX7tyapwLaO0FWJVX5o5orYMNhdKNhXESb7jYkMIcNTXgKV6mPIwvwg973PCHqvzTmal44wRuj9peujmeMHo1lT784J5W58Wv/wiXklVN+hB8cmC+jG/c= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773096291; c=relaxed/simple; bh=js3wV5z5S67zy6eAdYjU4FSDvTWxhLq5Wlg/JpSyxbc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=VkLsd46pLYssYpQZ83dP/7V+uyGHgS8aKO27SC+G5ox5LzFfywDkvnvGJYnmXbYXJvaySaOxDccuobU2PNU3sfI+QXnEBe4crlA8+2qhYHq2dMnziVvZYc0s9vKjsqYe/5U5emRtiYYPz3AbbL/XcPu4JLaQUFUlHYSnaAOYjlI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com; spf=pass smtp.mailfrom=collabora.com; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b=hX2Kp8Dh; arc=none smtp.client-ip=148.251.105.195 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=collabora.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b="hX2Kp8Dh" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1773096281; bh=js3wV5z5S67zy6eAdYjU4FSDvTWxhLq5Wlg/JpSyxbc=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=hX2Kp8DhyhPRCcKiJzDzrIyyf2lMlUIsKinKqG4ZfHf445gkpBhg/sY5GCsC85979 7UsCibJY8NwgcBnBKkHDBdVB7tSIMnfUrMyPZ3ZyFGqkIroloydspd7+dtMm7PxUk7 uzHTdooz/oBOIYJyG53N5nz4JlXRVXrQNP7Jq4K82U49VkSrVX5AEpwhcJ2B7XX8X2 9BOr7JvLMcJOovHaJGEHeOL+tgX6biLxo4Kw8EY5MOgBSPQ0SKed051Erm8SQFn3pQ gjGp98/wi8Eq4KzpezAeObRY7k0XcZ09lxG6yF/nHF+/BPiedWi34IYJdjAkakKhju ymG8qzUxY+Lxw== Received: from localhost (unknown [86.123.23.225]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: cristicc) by bali.collaboradmins.com (Postfix) with ESMTPSA id 9EFB717E13F9; Mon, 9 Mar 2026 23:44:41 +0100 (CET) From: Cristian Ciocaltea Date: Tue, 10 Mar 2026 00:44:36 +0200 Subject: [PATCH v2 8/8] drm/bridge: synopsys: dw-dp: Drop useless memory allocation Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260310-drm-rk-fixes-v2-8-645ecfb43f49@collabora.com> References: <20260310-drm-rk-fixes-v2-0-645ecfb43f49@collabora.com> In-Reply-To: <20260310-drm-rk-fixes-v2-0-645ecfb43f49@collabora.com> To: Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Dmitry Baryshkov , Dmitry Baryshkov , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec Cc: kernel@collabora.com, dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.14.3 The bridge gets allocated and initialized implicitly via the devm_drm_bridge_alloc() helper in dw_dp_bind(). However, this is preceded by an explicit allocation for the same dw_dp struct, which is never used anywhere as the return from devm_kzalloc() gets immediately overwritten by the aforementioned helper. Get rid of the unnecessary and confusing memory allocation. Signed-off-by: Cristian Ciocaltea --- drivers/gpu/drm/bridge/synopsys/dw-dp.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/drivers/gpu/drm/bridge/synopsys/dw-dp.c b/drivers/gpu/drm/brid= ge/synopsys/dw-dp.c index 8d02f047693a..9e7ace6be3a0 100644 --- a/drivers/gpu/drm/bridge/synopsys/dw-dp.c +++ b/drivers/gpu/drm/bridge/synopsys/dw-dp.c @@ -1977,10 +1977,6 @@ struct dw_dp *dw_dp_bind(struct device *dev, struct = drm_encoder *encoder, void __iomem *res; int ret; =20 - dp =3D devm_kzalloc(dev, sizeof(*dp), GFP_KERNEL); - if (!dp) - return ERR_PTR(-ENOMEM); - dp =3D devm_drm_bridge_alloc(dev, struct dw_dp, bridge, &dw_dp_bridge_fun= cs); if (IS_ERR(dp)) return ERR_CAST(dp); --=20 2.52.0