From: Sasha Levin Date: Wed, 13 Mar 2024 11:22:16 +0000 (-0400) Subject: Drop drm-bridge-properly-refcount-dt-nodes-in-aux-bridge-.patch X-Git-Tag: v6.8.1~10 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=86190b755c4b08c03dd51d8b537733078cf9f4e1;p=thirdparty%2Fkernel%2Fstable-queue.git Drop drm-bridge-properly-refcount-dt-nodes-in-aux-bridge-.patch Signed-off-by: Sasha Levin --- diff --git a/queue-6.6/drm-bridge-properly-refcount-dt-nodes-in-aux-bridge-.patch b/queue-6.6/drm-bridge-properly-refcount-dt-nodes-in-aux-bridge-.patch deleted file mode 100644 index f938f4c5d87..00000000000 --- a/queue-6.6/drm-bridge-properly-refcount-dt-nodes-in-aux-bridge-.patch +++ /dev/null @@ -1,68 +0,0 @@ -From 09b2aa52ca01bb74251a0afe1bac930edb534b0a Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Sun, 17 Dec 2023 01:59:10 +0200 -Subject: drm/bridge: properly refcount DT nodes in aux bridge drivers - -From: Dmitry Baryshkov - -[ Upstream commit 6914968a0b52507bf19d85e5fb9e35272e17cd35 ] - -The aux-bridge and aux-hpd-bridge drivers didn't call of_node_get() on -the device nodes further used for dev->of_node and platform data. When -bridge devices are released, the reference counts are decreased, -resulting in refcount underflow / use-after-free warnings. Get -corresponding refcounts during AUX bridge allocation. - -Reported-by: Luca Weiss -Fixes: 2a04739139b2 ("drm/bridge: add transparent bridge helper") -Fixes: 26f4bac3d884 ("drm/bridge: aux-hpd: Replace of_device.h with explicit include") -Reviewed-by: Neil Armstrong -Signed-off-by: Dmitry Baryshkov -Link: https://patchwork.freedesktop.org/patch/msgid/20231216235910.911958-1-dmitry.baryshkov@linaro.org -Signed-off-by: Dmitry Baryshkov -Signed-off-by: Sasha Levin ---- - drivers/gpu/drm/bridge/aux-bridge.c | 3 ++- - drivers/gpu/drm/bridge/aux-hpd-bridge.c | 4 ++-- - 2 files changed, 4 insertions(+), 3 deletions(-) - -diff --git a/drivers/gpu/drm/bridge/aux-bridge.c b/drivers/gpu/drm/bridge/aux-bridge.c -index 49d7c2ab1ecc3..b29980f95379e 100644 ---- a/drivers/gpu/drm/bridge/aux-bridge.c -+++ b/drivers/gpu/drm/bridge/aux-bridge.c -@@ -6,6 +6,7 @@ - */ - #include - #include -+#include - - #include - #include -@@ -57,7 +58,7 @@ int drm_aux_bridge_register(struct device *parent) - adev->id = ret; - adev->name = "aux_bridge"; - adev->dev.parent = parent; -- adev->dev.of_node = parent->of_node; -+ adev->dev.of_node = of_node_get(parent->of_node); - adev->dev.release = drm_aux_bridge_release; - - ret = auxiliary_device_init(adev); -diff --git a/drivers/gpu/drm/bridge/aux-hpd-bridge.c b/drivers/gpu/drm/bridge/aux-hpd-bridge.c -index 44bb771211b82..a24b6613cc02d 100644 ---- a/drivers/gpu/drm/bridge/aux-hpd-bridge.c -+++ b/drivers/gpu/drm/bridge/aux-hpd-bridge.c -@@ -63,9 +63,9 @@ struct auxiliary_device *devm_drm_dp_hpd_bridge_alloc(struct device *parent, str - adev->id = ret; - adev->name = "dp_hpd_bridge"; - adev->dev.parent = parent; -- adev->dev.of_node = parent->of_node; -+ adev->dev.of_node = of_node_get(parent->of_node); - adev->dev.release = drm_aux_hpd_bridge_release; -- adev->dev.platform_data = np; -+ adev->dev.platform_data = of_node_get(np); - - ret = auxiliary_device_init(adev); - if (ret) { --- -2.43.0 - diff --git a/queue-6.6/series b/queue-6.6/series index 91d7d6daa19..c7677786d80 100644 --- a/queue-6.6/series +++ b/queue-6.6/series @@ -57,4 +57,3 @@ x86-mmio-disable-kvm-mitigation-when-x86_feature_clear_cpu_buf-is-set.patch documentation-hw-vuln-add-documentation-for-rfds.patch x86-rfds-mitigate-register-file-data-sampling-rfds.patch kvm-x86-export-rfds_no-and-rfds_clear-to-guests.patch -drm-bridge-properly-refcount-dt-nodes-in-aux-bridge-.patch diff --git a/queue-6.7/drm-bridge-properly-refcount-dt-nodes-in-aux-bridge-.patch b/queue-6.7/drm-bridge-properly-refcount-dt-nodes-in-aux-bridge-.patch deleted file mode 100644 index 8d7580a286b..00000000000 --- a/queue-6.7/drm-bridge-properly-refcount-dt-nodes-in-aux-bridge-.patch +++ /dev/null @@ -1,68 +0,0 @@ -From dab92d8302ed9a27886dc013ec6ee10398823f38 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Sun, 17 Dec 2023 01:59:10 +0200 -Subject: drm/bridge: properly refcount DT nodes in aux bridge drivers - -From: Dmitry Baryshkov - -[ Upstream commit 6914968a0b52507bf19d85e5fb9e35272e17cd35 ] - -The aux-bridge and aux-hpd-bridge drivers didn't call of_node_get() on -the device nodes further used for dev->of_node and platform data. When -bridge devices are released, the reference counts are decreased, -resulting in refcount underflow / use-after-free warnings. Get -corresponding refcounts during AUX bridge allocation. - -Reported-by: Luca Weiss -Fixes: 2a04739139b2 ("drm/bridge: add transparent bridge helper") -Fixes: 26f4bac3d884 ("drm/bridge: aux-hpd: Replace of_device.h with explicit include") -Reviewed-by: Neil Armstrong -Signed-off-by: Dmitry Baryshkov -Link: https://patchwork.freedesktop.org/patch/msgid/20231216235910.911958-1-dmitry.baryshkov@linaro.org -Signed-off-by: Dmitry Baryshkov -Signed-off-by: Sasha Levin ---- - drivers/gpu/drm/bridge/aux-bridge.c | 3 ++- - drivers/gpu/drm/bridge/aux-hpd-bridge.c | 4 ++-- - 2 files changed, 4 insertions(+), 3 deletions(-) - -diff --git a/drivers/gpu/drm/bridge/aux-bridge.c b/drivers/gpu/drm/bridge/aux-bridge.c -index 49d7c2ab1ecc3..b29980f95379e 100644 ---- a/drivers/gpu/drm/bridge/aux-bridge.c -+++ b/drivers/gpu/drm/bridge/aux-bridge.c -@@ -6,6 +6,7 @@ - */ - #include - #include -+#include - - #include - #include -@@ -57,7 +58,7 @@ int drm_aux_bridge_register(struct device *parent) - adev->id = ret; - adev->name = "aux_bridge"; - adev->dev.parent = parent; -- adev->dev.of_node = parent->of_node; -+ adev->dev.of_node = of_node_get(parent->of_node); - adev->dev.release = drm_aux_bridge_release; - - ret = auxiliary_device_init(adev); -diff --git a/drivers/gpu/drm/bridge/aux-hpd-bridge.c b/drivers/gpu/drm/bridge/aux-hpd-bridge.c -index 44bb771211b82..a24b6613cc02d 100644 ---- a/drivers/gpu/drm/bridge/aux-hpd-bridge.c -+++ b/drivers/gpu/drm/bridge/aux-hpd-bridge.c -@@ -63,9 +63,9 @@ struct auxiliary_device *devm_drm_dp_hpd_bridge_alloc(struct device *parent, str - adev->id = ret; - adev->name = "dp_hpd_bridge"; - adev->dev.parent = parent; -- adev->dev.of_node = parent->of_node; -+ adev->dev.of_node = of_node_get(parent->of_node); - adev->dev.release = drm_aux_hpd_bridge_release; -- adev->dev.platform_data = np; -+ adev->dev.platform_data = of_node_get(np); - - ret = auxiliary_device_init(adev); - if (ret) { --- -2.43.0 - diff --git a/queue-6.7/series b/queue-6.7/series index dcb668fa785..e2e69ee06be 100644 --- a/queue-6.7/series +++ b/queue-6.7/series @@ -58,4 +58,3 @@ selftests-mptcp-decrease-bw-in-simult-flows.patch exit-wait_task_zombie-kill-the-no-longer-necessary-s.patch arm-9328-1-mm-try-vma-lock-based-page-fault-handling.patch arch-arm-mm-fix-major-fault-accounting-when-retrying.patch -drm-bridge-properly-refcount-dt-nodes-in-aux-bridge-.patch