From: Greg Kroah-Hartman Date: Tue, 20 Nov 2018 08:47:41 +0000 (+0100) Subject: drop drm-atomic_helper-disallow-new-modesets-on-unregistered-connectors.patch X-Git-Tag: v4.19.3~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=53bcd269eb8066c138ef4ac4d09536ac8ea92104;p=thirdparty%2Fkernel%2Fstable-queue.git drop drm-atomic_helper-disallow-new-modesets-on-unregistered-connectors.patch --- diff --git a/queue-4.14/drm-atomic_helper-disallow-new-modesets-on-unregistered-connectors.patch b/queue-4.14/drm-atomic_helper-disallow-new-modesets-on-unregistered-connectors.patch deleted file mode 100644 index f6109c1a6a8..00000000000 --- a/queue-4.14/drm-atomic_helper-disallow-new-modesets-on-unregistered-connectors.patch +++ /dev/null @@ -1,70 +0,0 @@ -From e96550956fbcd090629c0e2b5b8cded2eded2adf Mon Sep 17 00:00:00 2001 -From: Lyude Paul -Date: Mon, 8 Oct 2018 19:24:30 -0400 -Subject: drm/atomic_helper: Disallow new modesets on unregistered connectors - -From: Lyude Paul - -commit e96550956fbcd090629c0e2b5b8cded2eded2adf upstream. - -With the exception of modesets which would switch the DPMS state of a -connector from on to off, we want to make sure that we disallow all -modesets which would result in enabling a new monitor or a new mode -configuration on a monitor if the connector for the display in question -is no longer registered. This allows us to stop userspace from trying to -enable new displays on connectors for an MST topology that were just -removed from the system, without preventing userspace from disabling -DPMS on those connectors. - -Changes since v5: -- Fix typo in comment, nothing else - -Signed-off-by: Lyude Paul -Reviewed-by: Daniel Vetter -Cc: stable@vger.kernel.org -Link: https://patchwork.freedesktop.org/patch/msgid/20181008232437.5571-2-lyude@redhat.com -(cherry picked from commit 4d80273976bf880c4bed9359b8f2d45663140c86) -Signed-off-by: Joonas Lahtinen -Signed-off-by: Greg Kroah-Hartman - ---- - drivers/gpu/drm/drm_atomic_helper.c | 21 ++++++++++++++++++++- - 1 file changed, 20 insertions(+), 1 deletion(-) - ---- a/drivers/gpu/drm/drm_atomic_helper.c -+++ b/drivers/gpu/drm/drm_atomic_helper.c -@@ -306,6 +306,26 @@ update_connector_routing(struct drm_atom - return 0; - } - -+ crtc_state = drm_atomic_get_new_crtc_state(state, -+ new_connector_state->crtc); -+ /* -+ * For compatibility with legacy users, we want to make sure that -+ * we allow DPMS On->Off modesets on unregistered connectors. Modesets -+ * which would result in anything else must be considered invalid, to -+ * avoid turning on new displays on dead connectors. -+ * -+ * Since the connector can be unregistered at any point during an -+ * atomic check or commit, this is racy. But that's OK: all we care -+ * about is ensuring that userspace can't do anything but shut off the -+ * display on a connector that was destroyed after its been notified, -+ * not before. -+ */ -+ if (!READ_ONCE(connector->registered) && crtc_state->active) { -+ DRM_DEBUG_ATOMIC("[CONNECTOR:%d:%s] is not registered\n", -+ connector->base.id, connector->name); -+ return -EINVAL; -+ } -+ - funcs = connector->helper_private; - - if (funcs->atomic_best_encoder) -@@ -350,7 +370,6 @@ update_connector_routing(struct drm_atom - - set_best_encoder(state, new_connector_state, new_encoder); - -- crtc_state = drm_atomic_get_new_crtc_state(state, new_connector_state->crtc); - crtc_state->connectors_changed = true; - - DRM_DEBUG_ATOMIC("[CONNECTOR:%d:%s] using [ENCODER:%d:%s] on [CRTC:%d:%s]\n", diff --git a/queue-4.14/series b/queue-4.14/series index 5571b35a2f0..2bf4279a3fc 100644 --- a/queue-4.14/series +++ b/queue-4.14/series @@ -108,7 +108,6 @@ drm-rockchip-allow-driver-to-be-shutdown-on-reboot-kexec.patch drm-amdgpu-add-missing-chip_hainan-in-amdgpu_ucode_get_load_type.patch drm-nouveau-check-backlight-ids-are-0-not-0.patch drm-dp_mst-check-if-primary-mstb-is-null.patch -drm-atomic_helper-disallow-new-modesets-on-unregistered-connectors.patch drm-i915-restore-vblank-interrupts-earlier.patch drm-i915-don-t-unset-intel_connector-mst_port.patch drm-i915-skip-vcpi-allocation-for-mstb-ports-that-are-gone.patch diff --git a/queue-4.18/drm-atomic_helper-disallow-new-modesets-on-unregistered-connectors.patch b/queue-4.18/drm-atomic_helper-disallow-new-modesets-on-unregistered-connectors.patch deleted file mode 100644 index f6109c1a6a8..00000000000 --- a/queue-4.18/drm-atomic_helper-disallow-new-modesets-on-unregistered-connectors.patch +++ /dev/null @@ -1,70 +0,0 @@ -From e96550956fbcd090629c0e2b5b8cded2eded2adf Mon Sep 17 00:00:00 2001 -From: Lyude Paul -Date: Mon, 8 Oct 2018 19:24:30 -0400 -Subject: drm/atomic_helper: Disallow new modesets on unregistered connectors - -From: Lyude Paul - -commit e96550956fbcd090629c0e2b5b8cded2eded2adf upstream. - -With the exception of modesets which would switch the DPMS state of a -connector from on to off, we want to make sure that we disallow all -modesets which would result in enabling a new monitor or a new mode -configuration on a monitor if the connector for the display in question -is no longer registered. This allows us to stop userspace from trying to -enable new displays on connectors for an MST topology that were just -removed from the system, without preventing userspace from disabling -DPMS on those connectors. - -Changes since v5: -- Fix typo in comment, nothing else - -Signed-off-by: Lyude Paul -Reviewed-by: Daniel Vetter -Cc: stable@vger.kernel.org -Link: https://patchwork.freedesktop.org/patch/msgid/20181008232437.5571-2-lyude@redhat.com -(cherry picked from commit 4d80273976bf880c4bed9359b8f2d45663140c86) -Signed-off-by: Joonas Lahtinen -Signed-off-by: Greg Kroah-Hartman - ---- - drivers/gpu/drm/drm_atomic_helper.c | 21 ++++++++++++++++++++- - 1 file changed, 20 insertions(+), 1 deletion(-) - ---- a/drivers/gpu/drm/drm_atomic_helper.c -+++ b/drivers/gpu/drm/drm_atomic_helper.c -@@ -306,6 +306,26 @@ update_connector_routing(struct drm_atom - return 0; - } - -+ crtc_state = drm_atomic_get_new_crtc_state(state, -+ new_connector_state->crtc); -+ /* -+ * For compatibility with legacy users, we want to make sure that -+ * we allow DPMS On->Off modesets on unregistered connectors. Modesets -+ * which would result in anything else must be considered invalid, to -+ * avoid turning on new displays on dead connectors. -+ * -+ * Since the connector can be unregistered at any point during an -+ * atomic check or commit, this is racy. But that's OK: all we care -+ * about is ensuring that userspace can't do anything but shut off the -+ * display on a connector that was destroyed after its been notified, -+ * not before. -+ */ -+ if (!READ_ONCE(connector->registered) && crtc_state->active) { -+ DRM_DEBUG_ATOMIC("[CONNECTOR:%d:%s] is not registered\n", -+ connector->base.id, connector->name); -+ return -EINVAL; -+ } -+ - funcs = connector->helper_private; - - if (funcs->atomic_best_encoder) -@@ -350,7 +370,6 @@ update_connector_routing(struct drm_atom - - set_best_encoder(state, new_connector_state, new_encoder); - -- crtc_state = drm_atomic_get_new_crtc_state(state, new_connector_state->crtc); - crtc_state->connectors_changed = true; - - DRM_DEBUG_ATOMIC("[CONNECTOR:%d:%s] using [ENCODER:%d:%s] on [CRTC:%d:%s]\n", diff --git a/queue-4.18/series b/queue-4.18/series index 4dd48e54c43..89b24767ec7 100644 --- a/queue-4.18/series +++ b/queue-4.18/series @@ -150,7 +150,6 @@ drm-nouveau-fix-nv50_mstc-best_encoder.patch drm-amd-powerplay-enable-disable-nbpstate-on-on-off-of-uvd.patch drm-etnaviv-fix-bogus-fence-complete-check-in-timeout-handler.patch drm-dp_mst-check-if-primary-mstb-is-null.patch -drm-atomic_helper-disallow-new-modesets-on-unregistered-connectors.patch drm-panel-orientation-quirks-add-quirk-for-acer-one-10-s1003.patch drm-i915-dp-link-train-fallback-on-edp-only-if-fallback-link-bw-can-fit-panel-s-native-mode.patch drm-i915-restore-vblank-interrupts-earlier.patch diff --git a/queue-4.19/drm-atomic_helper-disallow-new-modesets-on-unregistered-connectors.patch b/queue-4.19/drm-atomic_helper-disallow-new-modesets-on-unregistered-connectors.patch deleted file mode 100644 index 57c5621ccf1..00000000000 --- a/queue-4.19/drm-atomic_helper-disallow-new-modesets-on-unregistered-connectors.patch +++ /dev/null @@ -1,70 +0,0 @@ -From e96550956fbcd090629c0e2b5b8cded2eded2adf Mon Sep 17 00:00:00 2001 -From: Lyude Paul -Date: Mon, 8 Oct 2018 19:24:30 -0400 -Subject: drm/atomic_helper: Disallow new modesets on unregistered connectors - -From: Lyude Paul - -commit e96550956fbcd090629c0e2b5b8cded2eded2adf upstream. - -With the exception of modesets which would switch the DPMS state of a -connector from on to off, we want to make sure that we disallow all -modesets which would result in enabling a new monitor or a new mode -configuration on a monitor if the connector for the display in question -is no longer registered. This allows us to stop userspace from trying to -enable new displays on connectors for an MST topology that were just -removed from the system, without preventing userspace from disabling -DPMS on those connectors. - -Changes since v5: -- Fix typo in comment, nothing else - -Signed-off-by: Lyude Paul -Reviewed-by: Daniel Vetter -Cc: stable@vger.kernel.org -Link: https://patchwork.freedesktop.org/patch/msgid/20181008232437.5571-2-lyude@redhat.com -(cherry picked from commit 4d80273976bf880c4bed9359b8f2d45663140c86) -Signed-off-by: Joonas Lahtinen -Signed-off-by: Greg Kroah-Hartman - ---- - drivers/gpu/drm/drm_atomic_helper.c | 21 ++++++++++++++++++++- - 1 file changed, 20 insertions(+), 1 deletion(-) - ---- a/drivers/gpu/drm/drm_atomic_helper.c -+++ b/drivers/gpu/drm/drm_atomic_helper.c -@@ -307,6 +307,26 @@ update_connector_routing(struct drm_atom - return 0; - } - -+ crtc_state = drm_atomic_get_new_crtc_state(state, -+ new_connector_state->crtc); -+ /* -+ * For compatibility with legacy users, we want to make sure that -+ * we allow DPMS On->Off modesets on unregistered connectors. Modesets -+ * which would result in anything else must be considered invalid, to -+ * avoid turning on new displays on dead connectors. -+ * -+ * Since the connector can be unregistered at any point during an -+ * atomic check or commit, this is racy. But that's OK: all we care -+ * about is ensuring that userspace can't do anything but shut off the -+ * display on a connector that was destroyed after its been notified, -+ * not before. -+ */ -+ if (!READ_ONCE(connector->registered) && crtc_state->active) { -+ DRM_DEBUG_ATOMIC("[CONNECTOR:%d:%s] is not registered\n", -+ connector->base.id, connector->name); -+ return -EINVAL; -+ } -+ - funcs = connector->helper_private; - - if (funcs->atomic_best_encoder) -@@ -351,7 +371,6 @@ update_connector_routing(struct drm_atom - - set_best_encoder(state, new_connector_state, new_encoder); - -- crtc_state = drm_atomic_get_new_crtc_state(state, new_connector_state->crtc); - crtc_state->connectors_changed = true; - - DRM_DEBUG_ATOMIC("[CONNECTOR:%d:%s] using [ENCODER:%d:%s] on [CRTC:%d:%s]\n", diff --git a/queue-4.19/series b/queue-4.19/series index bdb7c918a44..d81edd8993d 100644 --- a/queue-4.19/series +++ b/queue-4.19/series @@ -179,7 +179,6 @@ drm-nouveau-fix-nv50_mstc-best_encoder.patch drm-amd-powerplay-enable-disable-nbpstate-on-on-off-of-uvd.patch drm-etnaviv-fix-bogus-fence-complete-check-in-timeout-handler.patch drm-dp_mst-check-if-primary-mstb-is-null.patch -drm-atomic_helper-disallow-new-modesets-on-unregistered-connectors.patch drm-panel-orientation-quirks-add-quirk-for-acer-one-10-s1003.patch drm-i915-dp-link-train-fallback-on-edp-only-if-fallback-link-bw-can-fit-panel-s-native-mode.patch drm-i915-use-the-correct-crtc-when-sanitizing-plane-mapping.patch