Linux kernel -stable discussions
 help / color / mirror / Atom feed
* [PATCH 6.12 1/6] drm/i915/ddi: change intel_ddi_init_{dp, hdmi}_connector() return type
@ 2025-08-04 10:16 Sergey Senozhatsky
  2025-08-04 10:16 ` [PATCH 6.12 2/6] drm/i915/hdmi: propagate errors from intel_hdmi_init_connector() Sergey Senozhatsky
                   ` (6 more replies)
  0 siblings, 7 replies; 17+ messages in thread
From: Sergey Senozhatsky @ 2025-08-04 10:16 UTC (permalink / raw)
  To: stable; +Cc: Jani Nikula, Suraj Kandpal, Sergey Senozhatsky

From: Jani Nikula <jani.nikula@intel.com>

[ Upstream commit e1980a977686d46dbf45687f7750f1c50d1d6cf8 ]

The caller doesn't actually need the returned struct intel_connector;
it's stored in the ->attached_connector of intel_dp and
intel_hdmi. Switch to returning an int with 0 for success and negative
errors codes to be able to indicate success even when we don't have a
connector.

Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>
Tested-by: Sergey Senozhatsky <senozhatsky@chromium.org>
Link: https://patchwork.freedesktop.org/patch/msgid/8ef7fe838231919e85eaead640c51ad3e4550d27.1735568047.git.jani.nikula@intel.com
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/i915/display/intel_ddi.c | 20 +++++++++-----------
 1 file changed, 9 insertions(+), 11 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
index 34dee523f0b6..b567efc5b93c 100644
--- a/drivers/gpu/drm/i915/display/intel_ddi.c
+++ b/drivers/gpu/drm/i915/display/intel_ddi.c
@@ -4413,8 +4413,7 @@ static const struct drm_encoder_funcs intel_ddi_funcs = {
 	.late_register = intel_ddi_encoder_late_register,
 };
 
-static struct intel_connector *
-intel_ddi_init_dp_connector(struct intel_digital_port *dig_port)
+static int intel_ddi_init_dp_connector(struct intel_digital_port *dig_port)
 {
 	struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev);
 	struct intel_connector *connector;
@@ -4422,7 +4421,7 @@ intel_ddi_init_dp_connector(struct intel_digital_port *dig_port)
 
 	connector = intel_connector_alloc();
 	if (!connector)
-		return NULL;
+		return -ENOMEM;
 
 	dig_port->dp.output_reg = DDI_BUF_CTL(port);
 	if (DISPLAY_VER(i915) >= 14)
@@ -4437,7 +4436,7 @@ intel_ddi_init_dp_connector(struct intel_digital_port *dig_port)
 
 	if (!intel_dp_init_connector(dig_port, connector)) {
 		kfree(connector);
-		return NULL;
+		return -EINVAL;
 	}
 
 	if (dig_port->base.type == INTEL_OUTPUT_EDP) {
@@ -4453,7 +4452,7 @@ intel_ddi_init_dp_connector(struct intel_digital_port *dig_port)
 		}
 	}
 
-	return connector;
+	return 0;
 }
 
 static int intel_hdmi_reset_link(struct intel_encoder *encoder,
@@ -4623,20 +4622,19 @@ static bool bdw_digital_port_connected(struct intel_encoder *encoder)
 	return intel_de_read(dev_priv, GEN8_DE_PORT_ISR) & bit;
 }
 
-static struct intel_connector *
-intel_ddi_init_hdmi_connector(struct intel_digital_port *dig_port)
+static int intel_ddi_init_hdmi_connector(struct intel_digital_port *dig_port)
 {
 	struct intel_connector *connector;
 	enum port port = dig_port->base.port;
 
 	connector = intel_connector_alloc();
 	if (!connector)
-		return NULL;
+		return -ENOMEM;
 
 	dig_port->hdmi.hdmi_reg = DDI_BUF_CTL(port);
 	intel_hdmi_init_connector(dig_port, connector);
 
-	return connector;
+	return 0;
 }
 
 static bool intel_ddi_a_force_4_lanes(struct intel_digital_port *dig_port)
@@ -5185,7 +5183,7 @@ void intel_ddi_init(struct intel_display *display,
 	intel_infoframe_init(dig_port);
 
 	if (init_dp) {
-		if (!intel_ddi_init_dp_connector(dig_port))
+		if (intel_ddi_init_dp_connector(dig_port))
 			goto err;
 
 		dig_port->hpd_pulse = intel_dp_hpd_pulse;
@@ -5199,7 +5197,7 @@ void intel_ddi_init(struct intel_display *display,
 	 * but leave it just in case we have some really bad VBTs...
 	 */
 	if (encoder->type != INTEL_OUTPUT_EDP && init_hdmi) {
-		if (!intel_ddi_init_hdmi_connector(dig_port))
+		if (intel_ddi_init_hdmi_connector(dig_port))
 			goto err;
 	}
 
-- 
2.50.1.565.gc32cd1483b-goog


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 6.12 2/6] drm/i915/hdmi: propagate errors from intel_hdmi_init_connector()
  2025-08-04 10:16 [PATCH 6.12 1/6] drm/i915/ddi: change intel_ddi_init_{dp, hdmi}_connector() return type Sergey Senozhatsky
@ 2025-08-04 10:16 ` Sergey Senozhatsky
  2025-08-05  1:06   ` Sasha Levin
  2025-08-04 10:16 ` [PATCH 6.12 3/6] drm/i915/hdmi: add error handling in g4x_hdmi_init() Sergey Senozhatsky
                   ` (5 subsequent siblings)
  6 siblings, 1 reply; 17+ messages in thread
From: Sergey Senozhatsky @ 2025-08-04 10:16 UTC (permalink / raw)
  To: stable; +Cc: Jani Nikula, Sergey Senozhatsky, Ville Syrjala

From: Jani Nikula <jani.nikula@intel.com>

[ Upstream commit 7fb56536fa37e23bc291d31c10e575d500f4fda7 ]

Propagate errors from intel_hdmi_init_connector() to be able to handle
them at callers. This is similar to intel_dp_init_connector().

Cc: Sergey Senozhatsky <senozhatsky@chromium.org>
Cc: Ville Syrjala <ville.syrjala@linux.intel.com>
Reported-and-tested-by: Sergey Senozhatsky <senozhatsky@chromium.org>
Closes: https://lore.kernel.org/r/20241031105145.2140590-1-senozhatsky@chromium.org
Reviewed-by: Sergey Senozhatsky <senozhatsky@chromium.org>
Link: https://patchwork.freedesktop.org/patch/msgid/cdaf9e32cc4880c46e120933438c37b4d87be12e.1735568047.git.jani.nikula@intel.com
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/i915/display/intel_hdmi.c | 10 ++++++----
 drivers/gpu/drm/i915/display/intel_hdmi.h |  2 +-
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.c b/drivers/gpu/drm/i915/display/intel_hdmi.c
index cd9ee171e0df..c5b2fbaeff89 100644
--- a/drivers/gpu/drm/i915/display/intel_hdmi.c
+++ b/drivers/gpu/drm/i915/display/intel_hdmi.c
@@ -3015,7 +3015,7 @@ void intel_infoframe_init(struct intel_digital_port *dig_port)
 	}
 }
 
-void intel_hdmi_init_connector(struct intel_digital_port *dig_port,
+bool intel_hdmi_init_connector(struct intel_digital_port *dig_port,
 			       struct intel_connector *intel_connector)
 {
 	struct intel_display *display = to_intel_display(dig_port);
@@ -3033,17 +3033,17 @@ void intel_hdmi_init_connector(struct intel_digital_port *dig_port,
 		    intel_encoder->base.base.id, intel_encoder->base.name);
 
 	if (DISPLAY_VER(display) < 12 && drm_WARN_ON(dev, port == PORT_A))
-		return;
+		return false;
 
 	if (drm_WARN(dev, dig_port->max_lanes < 4,
 		     "Not enough lanes (%d) for HDMI on [ENCODER:%d:%s]\n",
 		     dig_port->max_lanes, intel_encoder->base.base.id,
 		     intel_encoder->base.name))
-		return;
+		return false;
 
 	ddc_pin = intel_hdmi_ddc_pin(intel_encoder);
 	if (!ddc_pin)
-		return;
+		return false;
 
 	drm_connector_init_with_ddc(dev, connector,
 				    &intel_hdmi_connector_funcs,
@@ -3088,6 +3088,8 @@ void intel_hdmi_init_connector(struct intel_digital_port *dig_port,
 					   &conn_info);
 	if (!intel_hdmi->cec_notifier)
 		drm_dbg_kms(display->drm, "CEC notifier get failed\n");
+
+	return true;
 }
 
 /*
diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.h b/drivers/gpu/drm/i915/display/intel_hdmi.h
index 9b97623665c5..fc64a3affc71 100644
--- a/drivers/gpu/drm/i915/display/intel_hdmi.h
+++ b/drivers/gpu/drm/i915/display/intel_hdmi.h
@@ -22,7 +22,7 @@ struct intel_encoder;
 struct intel_hdmi;
 union hdmi_infoframe;
 
-void intel_hdmi_init_connector(struct intel_digital_port *dig_port,
+bool intel_hdmi_init_connector(struct intel_digital_port *dig_port,
 			       struct intel_connector *intel_connector);
 bool intel_hdmi_compute_has_hdmi_sink(struct intel_encoder *encoder,
 				      const struct intel_crtc_state *crtc_state,
-- 
2.50.1.565.gc32cd1483b-goog


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 6.12 3/6] drm/i915/hdmi: add error handling in g4x_hdmi_init()
  2025-08-04 10:16 [PATCH 6.12 1/6] drm/i915/ddi: change intel_ddi_init_{dp, hdmi}_connector() return type Sergey Senozhatsky
  2025-08-04 10:16 ` [PATCH 6.12 2/6] drm/i915/hdmi: propagate errors from intel_hdmi_init_connector() Sergey Senozhatsky
@ 2025-08-04 10:16 ` Sergey Senozhatsky
  2025-08-05  1:06   ` Sasha Levin
  2025-08-04 10:16 ` [PATCH 6.12 4/6] drm/i915/ddi: gracefully handle errors from intel_ddi_init_hdmi_connector() Sergey Senozhatsky
                   ` (4 subsequent siblings)
  6 siblings, 1 reply; 17+ messages in thread
From: Sergey Senozhatsky @ 2025-08-04 10:16 UTC (permalink / raw)
  To: stable; +Cc: Jani Nikula, Sergey Senozhatsky, Ville Syrjala

From: Jani Nikula <jani.nikula@intel.com>

[ Upstream commit 7603ba81225c815d2ceb4ad52f13e8df4b9d03cc ]

Handle encoder and connector init failures in g4x_hdmi_init(). This is
similar to g4x_dp_init().

Cc: Sergey Senozhatsky <senozhatsky@chromium.org>
Cc: Ville Syrjala <ville.syrjala@linux.intel.com>
Reported-and-tested-by: Sergey Senozhatsky <senozhatsky@chromium.org>
Closes: https://lore.kernel.org/r/20241031105145.2140590-1-senozhatsky@chromium.org
Reviewed-by: Sergey Senozhatsky <senozhatsky@chromium.org>
Link: https://patchwork.freedesktop.org/patch/msgid/cafae7bf1f9ffb8f6a1d7a508cd2ce7dcf06fef7.1735568047.git.jani.nikula@intel.com
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/i915/display/g4x_hdmi.c | 35 ++++++++++++++++---------
 drivers/gpu/drm/i915/display/g4x_hdmi.h |  5 ++--
 2 files changed, 26 insertions(+), 14 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/g4x_hdmi.c b/drivers/gpu/drm/i915/display/g4x_hdmi.c
index 46f23bdb4c17..b89a364a3924 100644
--- a/drivers/gpu/drm/i915/display/g4x_hdmi.c
+++ b/drivers/gpu/drm/i915/display/g4x_hdmi.c
@@ -683,7 +683,7 @@ static bool assert_hdmi_port_valid(struct drm_i915_private *i915, enum port port
 			 "Platform does not support HDMI %c\n", port_name(port));
 }
 
-void g4x_hdmi_init(struct drm_i915_private *dev_priv,
+bool g4x_hdmi_init(struct drm_i915_private *dev_priv,
 		   i915_reg_t hdmi_reg, enum port port)
 {
 	struct intel_display *display = &dev_priv->display;
@@ -693,10 +693,10 @@ void g4x_hdmi_init(struct drm_i915_private *dev_priv,
 	struct intel_connector *intel_connector;
 
 	if (!assert_port_valid(dev_priv, port))
-		return;
+		return false;
 
 	if (!assert_hdmi_port_valid(dev_priv, port))
-		return;
+		return false;
 
 	devdata = intel_bios_encoder_data_lookup(display, port);
 
@@ -707,15 +707,13 @@ void g4x_hdmi_init(struct drm_i915_private *dev_priv,
 
 	dig_port = kzalloc(sizeof(*dig_port), GFP_KERNEL);
 	if (!dig_port)
-		return;
+		return false;
 
 	dig_port->aux_ch = AUX_CH_NONE;
 
 	intel_connector = intel_connector_alloc();
-	if (!intel_connector) {
-		kfree(dig_port);
-		return;
-	}
+	if (!intel_connector)
+		goto err_connector_alloc;
 
 	intel_encoder = &dig_port->base;
 
@@ -723,9 +721,10 @@ void g4x_hdmi_init(struct drm_i915_private *dev_priv,
 
 	mutex_init(&dig_port->hdcp_mutex);
 
-	drm_encoder_init(&dev_priv->drm, &intel_encoder->base,
-			 &intel_hdmi_enc_funcs, DRM_MODE_ENCODER_TMDS,
-			 "HDMI %c", port_name(port));
+	if (drm_encoder_init(&dev_priv->drm, &intel_encoder->base,
+			     &intel_hdmi_enc_funcs, DRM_MODE_ENCODER_TMDS,
+			     "HDMI %c", port_name(port)))
+		goto err_encoder_init;
 
 	intel_encoder->hotplug = intel_hdmi_hotplug;
 	intel_encoder->compute_config = g4x_hdmi_compute_config;
@@ -788,5 +787,17 @@ void g4x_hdmi_init(struct drm_i915_private *dev_priv,
 
 	intel_infoframe_init(dig_port);
 
-	intel_hdmi_init_connector(dig_port, intel_connector);
+	if (!intel_hdmi_init_connector(dig_port, intel_connector))
+		goto err_init_connector;
+
+	return true;
+
+err_init_connector:
+	drm_encoder_cleanup(&intel_encoder->base);
+err_encoder_init:
+	kfree(intel_connector);
+err_connector_alloc:
+	kfree(dig_port);
+
+	return false;
 }
diff --git a/drivers/gpu/drm/i915/display/g4x_hdmi.h b/drivers/gpu/drm/i915/display/g4x_hdmi.h
index 817f55c7a3a1..a52e8986ec7a 100644
--- a/drivers/gpu/drm/i915/display/g4x_hdmi.h
+++ b/drivers/gpu/drm/i915/display/g4x_hdmi.h
@@ -16,14 +16,15 @@ struct drm_connector;
 struct drm_i915_private;
 
 #ifdef I915
-void g4x_hdmi_init(struct drm_i915_private *dev_priv,
+bool g4x_hdmi_init(struct drm_i915_private *dev_priv,
 		   i915_reg_t hdmi_reg, enum port port);
 int g4x_hdmi_connector_atomic_check(struct drm_connector *connector,
 				    struct drm_atomic_state *state);
 #else
-static inline void g4x_hdmi_init(struct drm_i915_private *dev_priv,
+static inline bool g4x_hdmi_init(struct drm_i915_private *dev_priv,
 				 i915_reg_t hdmi_reg, int port)
 {
+	return false;
 }
 static inline int g4x_hdmi_connector_atomic_check(struct drm_connector *connector,
 						  struct drm_atomic_state *state)
-- 
2.50.1.565.gc32cd1483b-goog


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 6.12 4/6] drm/i915/ddi: gracefully handle errors from intel_ddi_init_hdmi_connector()
  2025-08-04 10:16 [PATCH 6.12 1/6] drm/i915/ddi: change intel_ddi_init_{dp, hdmi}_connector() return type Sergey Senozhatsky
  2025-08-04 10:16 ` [PATCH 6.12 2/6] drm/i915/hdmi: propagate errors from intel_hdmi_init_connector() Sergey Senozhatsky
  2025-08-04 10:16 ` [PATCH 6.12 3/6] drm/i915/hdmi: add error handling in g4x_hdmi_init() Sergey Senozhatsky
@ 2025-08-04 10:16 ` Sergey Senozhatsky
  2025-08-05  1:06   ` Sasha Levin
  2025-08-04 10:16 ` [PATCH 6.12 5/6] drm/i915/display: add intel_encoder_is_hdmi() Sergey Senozhatsky
                   ` (3 subsequent siblings)
  6 siblings, 1 reply; 17+ messages in thread
From: Sergey Senozhatsky @ 2025-08-04 10:16 UTC (permalink / raw)
  To: stable; +Cc: Jani Nikula, Sergey Senozhatsky, Ville Syrjala, Suraj Kandpal

From: Jani Nikula <jani.nikula@intel.com>

[ Upstream commit 8ea07e294ea2d046e16fa98e37007edcd4b9525d ]

Errors from intel_ddi_init_hdmi_connector() can just mean "there's no
HDMI" while we'll still want to continue with DP only. Handle the errors
gracefully, but don't propagate. Clear the hdmi_reg which is used as a
proxy to indicate the HDMI is initialized.

v2: Gracefully handle but do not propagate

Cc: Sergey Senozhatsky <senozhatsky@chromium.org>
Cc: Ville Syrjala <ville.syrjala@linux.intel.com>
Reported-and-tested-by: Sergey Senozhatsky <senozhatsky@chromium.org>
Closes: https://lore.kernel.org/r/20241031105145.2140590-1-senozhatsky@chromium.org
Reviewed-by: Sergey Senozhatsky <senozhatsky@chromium.org> # v1
Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/d72cb54ac7cc5ca29b3b9d70e4d368ea41643b08.1735568047.git.jani.nikula@intel.com
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/i915/display/intel_ddi.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
index b567efc5b93c..9e42f0836989 100644
--- a/drivers/gpu/drm/i915/display/intel_ddi.c
+++ b/drivers/gpu/drm/i915/display/intel_ddi.c
@@ -4632,7 +4632,16 @@ static int intel_ddi_init_hdmi_connector(struct intel_digital_port *dig_port)
 		return -ENOMEM;
 
 	dig_port->hdmi.hdmi_reg = DDI_BUF_CTL(port);
-	intel_hdmi_init_connector(dig_port, connector);
+
+	if (!intel_hdmi_init_connector(dig_port, connector)) {
+		/*
+		 * HDMI connector init failures may just mean conflicting DDC
+		 * pins or not having enough lanes. Handle them gracefully, but
+		 * don't fail the entire DDI init.
+		 */
+		dig_port->hdmi.hdmi_reg = INVALID_MMIO_REG;
+		kfree(connector);
+	}
 
 	return 0;
 }
-- 
2.50.1.565.gc32cd1483b-goog


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 6.12 5/6] drm/i915/display: add intel_encoder_is_hdmi()
  2025-08-04 10:16 [PATCH 6.12 1/6] drm/i915/ddi: change intel_ddi_init_{dp, hdmi}_connector() return type Sergey Senozhatsky
                   ` (2 preceding siblings ...)
  2025-08-04 10:16 ` [PATCH 6.12 4/6] drm/i915/ddi: gracefully handle errors from intel_ddi_init_hdmi_connector() Sergey Senozhatsky
@ 2025-08-04 10:16 ` Sergey Senozhatsky
  2025-08-05  1:06   ` Sasha Levin
  2025-08-04 10:16 ` [PATCH 6.12 6/6] drm/i915/ddi: only call shutdown hooks for valid encoders Sergey Senozhatsky
                   ` (2 subsequent siblings)
  6 siblings, 1 reply; 17+ messages in thread
From: Sergey Senozhatsky @ 2025-08-04 10:16 UTC (permalink / raw)
  To: stable; +Cc: Jani Nikula, Sergey Senozhatsky, Ville Syrjala, Suraj Kandpal

From: Jani Nikula <jani.nikula@intel.com>

[ Upstream commit efa43b751637c0e16a92e1787f1d8baaf56dafba ]

Similar to intel_encoder_is_dp() and friends.

Cc: Sergey Senozhatsky <senozhatsky@chromium.org>
Cc: Ville Syrjala <ville.syrjala@linux.intel.com>
Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>
Tested-by: Sergey Senozhatsky <senozhatsky@chromium.org>
Link: https://patchwork.freedesktop.org/patch/msgid/e6bf9e01deb5d0d8b566af128a762d1313638847.1735568047.git.jani.nikula@intel.com
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/i915/display/intel_display_types.h | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
index 3e24d2e90d3c..9812191e7ef2 100644
--- a/drivers/gpu/drm/i915/display/intel_display_types.h
+++ b/drivers/gpu/drm/i915/display/intel_display_types.h
@@ -2075,6 +2075,19 @@ static inline bool intel_encoder_is_dp(struct intel_encoder *encoder)
 	}
 }
 
+static inline bool intel_encoder_is_hdmi(struct intel_encoder *encoder)
+{
+	switch (encoder->type) {
+	case INTEL_OUTPUT_HDMI:
+		return true;
+	case INTEL_OUTPUT_DDI:
+		/* See if the HDMI encoder is valid. */
+		return i915_mmio_reg_valid(enc_to_intel_hdmi(encoder)->hdmi_reg);
+	default:
+		return false;
+	}
+}
+
 static inline struct intel_lspcon *
 enc_to_intel_lspcon(struct intel_encoder *encoder)
 {
-- 
2.50.1.565.gc32cd1483b-goog


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 6.12 6/6] drm/i915/ddi: only call shutdown hooks for valid encoders
  2025-08-04 10:16 [PATCH 6.12 1/6] drm/i915/ddi: change intel_ddi_init_{dp, hdmi}_connector() return type Sergey Senozhatsky
                   ` (3 preceding siblings ...)
  2025-08-04 10:16 ` [PATCH 6.12 5/6] drm/i915/display: add intel_encoder_is_hdmi() Sergey Senozhatsky
@ 2025-08-04 10:16 ` Sergey Senozhatsky
  2025-08-05  1:06   ` Sasha Levin
  2025-08-05  1:06 ` [PATCH 6.12 1/6] drm/i915/ddi: change intel_ddi_init_{dp, hdmi}_connector() return type Sasha Levin
  2025-08-05  2:11 ` Sergey Senozhatsky
  6 siblings, 1 reply; 17+ messages in thread
From: Sergey Senozhatsky @ 2025-08-04 10:16 UTC (permalink / raw)
  To: stable; +Cc: Jani Nikula, Sergey Senozhatsky, Ville Syrjala, Suraj Kandpal

From: Jani Nikula <jani.nikula@intel.com>

[ Upstream commit 60a43ecbd59decb77b31c09a73f09e1d4f4d1c4c ]

DDI might be HDMI or DP only, leaving the other encoder
uninitialized. Calling the shutdown hook on an uninitialized encoder may
lead to a NULL pointer dereference. Check the encoder types (and thus
validity via the DP output_reg or HDMI hdmi_reg checks) before calling
the hooks.

Reported-and-tested-by: Sergey Senozhatsky <senozhatsky@chromium.org>
Closes: https://lore.kernel.org/r/20241031105145.2140590-1-senozhatsky@chromium.org
Cc: Sergey Senozhatsky <senozhatsky@chromium.org>
Cc: Ville Syrjala <ville.syrjala@linux.intel.com>
Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/8b197c50e7f3be2bbc07e3935b21e919815015d5.1735568047.git.jani.nikula@intel.com
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/i915/display/intel_ddi.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
index 9e42f0836989..5b24460c0134 100644
--- a/drivers/gpu/drm/i915/display/intel_ddi.c
+++ b/drivers/gpu/drm/i915/display/intel_ddi.c
@@ -4798,8 +4798,10 @@ static void intel_ddi_tc_encoder_suspend_complete(struct intel_encoder *encoder)
 
 static void intel_ddi_encoder_shutdown(struct intel_encoder *encoder)
 {
-	intel_dp_encoder_shutdown(encoder);
-	intel_hdmi_encoder_shutdown(encoder);
+	if (intel_encoder_is_dp(encoder))
+		intel_dp_encoder_shutdown(encoder);
+	if (intel_encoder_is_hdmi(encoder))
+		intel_hdmi_encoder_shutdown(encoder);
 }
 
 static void intel_ddi_tc_encoder_shutdown_complete(struct intel_encoder *encoder)
-- 
2.50.1.565.gc32cd1483b-goog


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* Re: [PATCH 6.12 6/6] drm/i915/ddi: only call shutdown hooks for valid encoders
  2025-08-04 10:16 ` [PATCH 6.12 6/6] drm/i915/ddi: only call shutdown hooks for valid encoders Sergey Senozhatsky
@ 2025-08-05  1:06   ` Sasha Levin
  0 siblings, 0 replies; 17+ messages in thread
From: Sasha Levin @ 2025-08-05  1:06 UTC (permalink / raw)
  To: stable; +Cc: Sasha Levin

[ Sasha's backport helper bot ]

Hi,

✅ All tests passed successfully. No issues detected.
No action required from the submitter.

The upstream commit SHA1 provided is correct: 60a43ecbd59decb77b31c09a73f09e1d4f4d1c4c

WARNING: Author mismatch between patch and upstream commit:
Backport author: Sergey Senozhatsky <senozhatsky@chromium.org>
Commit author: Jani Nikula <jani.nikula@intel.com>

Status in newer kernel trees:
6.15.y | Present (exact SHA1)

Note: The patch differs from the upstream commit:
---
1:  60a43ecbd59d ! 1:  8009a63e9d86 drm/i915/ddi: only call shutdown hooks for valid encoders
    @@ Metadata
      ## Commit message ##
         drm/i915/ddi: only call shutdown hooks for valid encoders
     
    +    [ Upstream commit 60a43ecbd59decb77b31c09a73f09e1d4f4d1c4c ]
    +
         DDI might be HDMI or DP only, leaving the other encoder
         uninitialized. Calling the shutdown hook on an uninitialized encoder may
         lead to a NULL pointer dereference. Check the encoder types (and thus

---

Results of testing on various branches:

| Branch                    | Patch Apply | Build Test |
|---------------------------|-------------|------------|
| 6.12                      | Success     | Success    |

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 6.12 2/6] drm/i915/hdmi: propagate errors from intel_hdmi_init_connector()
  2025-08-04 10:16 ` [PATCH 6.12 2/6] drm/i915/hdmi: propagate errors from intel_hdmi_init_connector() Sergey Senozhatsky
@ 2025-08-05  1:06   ` Sasha Levin
  0 siblings, 0 replies; 17+ messages in thread
From: Sasha Levin @ 2025-08-05  1:06 UTC (permalink / raw)
  To: stable; +Cc: Sasha Levin

[ Sasha's backport helper bot ]

Hi,

✅ All tests passed successfully. No issues detected.
No action required from the submitter.

The upstream commit SHA1 provided is correct: 7fb56536fa37e23bc291d31c10e575d500f4fda7

WARNING: Author mismatch between patch and upstream commit:
Backport author: Sergey Senozhatsky <senozhatsky@chromium.org>
Commit author: Jani Nikula <jani.nikula@intel.com>

Status in newer kernel trees:
6.15.y | Present (exact SHA1)

Note: The patch differs from the upstream commit:
---
1:  7fb56536fa37 ! 1:  d8185aaf6ffa drm/i915/hdmi: propagate errors from intel_hdmi_init_connector()
    @@ Metadata
      ## Commit message ##
         drm/i915/hdmi: propagate errors from intel_hdmi_init_connector()
     
    +    [ Upstream commit 7fb56536fa37e23bc291d31c10e575d500f4fda7 ]
    +
         Propagate errors from intel_hdmi_init_connector() to be able to handle
         them at callers. This is similar to intel_dp_init_connector().
     

---

Results of testing on various branches:

| Branch                    | Patch Apply | Build Test |
|---------------------------|-------------|------------|
| 6.12                      | Success     | Success    |

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 6.12 4/6] drm/i915/ddi: gracefully handle errors from intel_ddi_init_hdmi_connector()
  2025-08-04 10:16 ` [PATCH 6.12 4/6] drm/i915/ddi: gracefully handle errors from intel_ddi_init_hdmi_connector() Sergey Senozhatsky
@ 2025-08-05  1:06   ` Sasha Levin
  0 siblings, 0 replies; 17+ messages in thread
From: Sasha Levin @ 2025-08-05  1:06 UTC (permalink / raw)
  To: stable; +Cc: Sasha Levin

[ Sasha's backport helper bot ]

Hi,

✅ All tests passed successfully. No issues detected.
No action required from the submitter.

The upstream commit SHA1 provided is correct: 8ea07e294ea2d046e16fa98e37007edcd4b9525d

WARNING: Author mismatch between patch and upstream commit:
Backport author: Sergey Senozhatsky <senozhatsky@chromium.org>
Commit author: Jani Nikula <jani.nikula@intel.com>

Status in newer kernel trees:
6.15.y | Present (exact SHA1)

Note: Could not generate a diff with upstream commit:
---
Note: Could not generate diff - patch failed to apply for comparison
---

Results of testing on various branches:

| Branch                    | Patch Apply | Build Test |
|---------------------------|-------------|------------|
| 6.12                      | Success     | Success    |

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 6.12 1/6] drm/i915/ddi: change intel_ddi_init_{dp, hdmi}_connector() return type
  2025-08-04 10:16 [PATCH 6.12 1/6] drm/i915/ddi: change intel_ddi_init_{dp, hdmi}_connector() return type Sergey Senozhatsky
                   ` (4 preceding siblings ...)
  2025-08-04 10:16 ` [PATCH 6.12 6/6] drm/i915/ddi: only call shutdown hooks for valid encoders Sergey Senozhatsky
@ 2025-08-05  1:06 ` Sasha Levin
  2025-08-05  2:11 ` Sergey Senozhatsky
  6 siblings, 0 replies; 17+ messages in thread
From: Sasha Levin @ 2025-08-05  1:06 UTC (permalink / raw)
  To: stable; +Cc: Sasha Levin

[ Sasha's backport helper bot ]

Hi,

✅ All tests passed successfully. No issues detected.
No action required from the submitter.

The upstream commit SHA1 provided is correct: e1980a977686d46dbf45687f7750f1c50d1d6cf8

WARNING: Author mismatch between patch and upstream commit:
Backport author: Sergey Senozhatsky <senozhatsky@chromium.org>
Commit author: Jani Nikula <jani.nikula@intel.com>

Status in newer kernel trees:
6.15.y | Present (exact SHA1)

Note: The patch differs from the upstream commit:
---
1:  e1980a977686 ! 1:  c9dc9718ce79 drm/i915/ddi: change intel_ddi_init_{dp, hdmi}_connector() return type
    @@ Metadata
      ## Commit message ##
         drm/i915/ddi: change intel_ddi_init_{dp, hdmi}_connector() return type
     
    +    [ Upstream commit e1980a977686d46dbf45687f7750f1c50d1d6cf8 ]
    +
         The caller doesn't actually need the returned struct intel_connector;
         it's stored in the ->attached_connector of intel_dp and
         intel_hdmi. Switch to returning an int with 0 for success and negative

---

Results of testing on various branches:

| Branch                    | Patch Apply | Build Test |
|---------------------------|-------------|------------|
| 6.12                      | Success     | Success    |

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 6.12 3/6] drm/i915/hdmi: add error handling in g4x_hdmi_init()
  2025-08-04 10:16 ` [PATCH 6.12 3/6] drm/i915/hdmi: add error handling in g4x_hdmi_init() Sergey Senozhatsky
@ 2025-08-05  1:06   ` Sasha Levin
  0 siblings, 0 replies; 17+ messages in thread
From: Sasha Levin @ 2025-08-05  1:06 UTC (permalink / raw)
  To: stable; +Cc: Sasha Levin

[ Sasha's backport helper bot ]

Hi,

✅ All tests passed successfully. No issues detected.
No action required from the submitter.

The upstream commit SHA1 provided is correct: 7603ba81225c815d2ceb4ad52f13e8df4b9d03cc

WARNING: Author mismatch between patch and upstream commit:
Backport author: Sergey Senozhatsky <senozhatsky@chromium.org>
Commit author: Jani Nikula <jani.nikula@intel.com>

Status in newer kernel trees:
6.15.y | Present (exact SHA1)

Note: The patch differs from the upstream commit:
---
1:  7603ba81225c ! 1:  6e1bc5a45972 drm/i915/hdmi: add error handling in g4x_hdmi_init()
    @@ Metadata
      ## Commit message ##
         drm/i915/hdmi: add error handling in g4x_hdmi_init()
     
    +    [ Upstream commit 7603ba81225c815d2ceb4ad52f13e8df4b9d03cc ]
    +
         Handle encoder and connector init failures in g4x_hdmi_init(). This is
         similar to g4x_dp_init().
     

---

Results of testing on various branches:

| Branch                    | Patch Apply | Build Test |
|---------------------------|-------------|------------|
| 6.12                      | Success     | Success    |

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 6.12 5/6] drm/i915/display: add intel_encoder_is_hdmi()
  2025-08-04 10:16 ` [PATCH 6.12 5/6] drm/i915/display: add intel_encoder_is_hdmi() Sergey Senozhatsky
@ 2025-08-05  1:06   ` Sasha Levin
  0 siblings, 0 replies; 17+ messages in thread
From: Sasha Levin @ 2025-08-05  1:06 UTC (permalink / raw)
  To: stable; +Cc: Sasha Levin

[ Sasha's backport helper bot ]

Hi,

✅ All tests passed successfully. No issues detected.
No action required from the submitter.

The upstream commit SHA1 provided is correct: efa43b751637c0e16a92e1787f1d8baaf56dafba

WARNING: Author mismatch between patch and upstream commit:
Backport author: Sergey Senozhatsky <senozhatsky@chromium.org>
Commit author: Jani Nikula <jani.nikula@intel.com>

Status in newer kernel trees:
6.15.y | Present (exact SHA1)

Note: The patch differs from the upstream commit:
---
1:  efa43b751637 ! 1:  7bfe5d895d09 drm/i915/display: add intel_encoder_is_hdmi()
    @@ Metadata
      ## Commit message ##
         drm/i915/display: add intel_encoder_is_hdmi()
     
    +    [ Upstream commit efa43b751637c0e16a92e1787f1d8baaf56dafba ]
    +
         Similar to intel_encoder_is_dp() and friends.
     
         Cc: Sergey Senozhatsky <senozhatsky@chromium.org>

---

Results of testing on various branches:

| Branch                    | Patch Apply | Build Test |
|---------------------------|-------------|------------|
| 6.12                      | Success     | Success    |

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 6.12 1/6] drm/i915/ddi: change intel_ddi_init_{dp, hdmi}_connector() return type
  2025-08-04 10:16 [PATCH 6.12 1/6] drm/i915/ddi: change intel_ddi_init_{dp, hdmi}_connector() return type Sergey Senozhatsky
                   ` (5 preceding siblings ...)
  2025-08-05  1:06 ` [PATCH 6.12 1/6] drm/i915/ddi: change intel_ddi_init_{dp, hdmi}_connector() return type Sasha Levin
@ 2025-08-05  2:11 ` Sergey Senozhatsky
  2025-08-12  6:35   ` Sergey Senozhatsky
  6 siblings, 1 reply; 17+ messages in thread
From: Sergey Senozhatsky @ 2025-08-05  2:11 UTC (permalink / raw)
  To: stable; +Cc: Jani Nikula, Suraj Kandpal, Sergey Senozhatsky

On (25/08/04 19:16), Sergey Senozhatsky wrote:
> From: Jani Nikula <jani.nikula@intel.com>
> 
> [ Upstream commit e1980a977686d46dbf45687f7750f1c50d1d6cf8 ]
> 
> The caller doesn't actually need the returned struct intel_connector;
> it's stored in the ->attached_connector of intel_dp and
> intel_hdmi. Switch to returning an int with 0 for success and negative
> errors codes to be able to indicate success even when we don't have a
> connector.
> 
> Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>
> Tested-by: Sergey Senozhatsky <senozhatsky@chromium.org>
> Link: https://patchwork.freedesktop.org/patch/msgid/8ef7fe838231919e85eaead640c51ad3e4550d27.1735568047.git.jani.nikula@intel.com
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>

Just for the record, this series fixes multiple NULL-ptr derefs
in i915 code, which are observed in the wild.

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 6.12 1/6] drm/i915/ddi: change intel_ddi_init_{dp, hdmi}_connector() return type
  2025-08-05  2:11 ` Sergey Senozhatsky
@ 2025-08-12  6:35   ` Sergey Senozhatsky
  2025-08-12  7:35     ` Greg KH
  2025-08-12 10:47     ` Greg KH
  0 siblings, 2 replies; 17+ messages in thread
From: Sergey Senozhatsky @ 2025-08-12  6:35 UTC (permalink / raw)
  To: stable; +Cc: Jani Nikula, Suraj Kandpal, Sergey Senozhatsky

On (25/08/05 11:11), Sergey Senozhatsky wrote:
> On (25/08/04 19:16), Sergey Senozhatsky wrote:
> > From: Jani Nikula <jani.nikula@intel.com>
> > 
> > [ Upstream commit e1980a977686d46dbf45687f7750f1c50d1d6cf8 ]
> > 
> > The caller doesn't actually need the returned struct intel_connector;
> > it's stored in the ->attached_connector of intel_dp and
> > intel_hdmi. Switch to returning an int with 0 for success and negative
> > errors codes to be able to indicate success even when we don't have a
> > connector.
> > 
> > Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>
> > Tested-by: Sergey Senozhatsky <senozhatsky@chromium.org>
> > Link: https://patchwork.freedesktop.org/patch/msgid/8ef7fe838231919e85eaead640c51ad3e4550d27.1735568047.git.jani.nikula@intel.com
> > Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> 
> Just for the record, this series fixes multiple NULL-ptr derefs
> in i915 code, which are observed in the wild.

Gentle ping.

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 6.12 1/6] drm/i915/ddi: change intel_ddi_init_{dp, hdmi}_connector() return type
  2025-08-12  6:35   ` Sergey Senozhatsky
@ 2025-08-12  7:35     ` Greg KH
  2025-08-12  8:16       ` Sergey Senozhatsky
  2025-08-12 10:47     ` Greg KH
  1 sibling, 1 reply; 17+ messages in thread
From: Greg KH @ 2025-08-12  7:35 UTC (permalink / raw)
  To: Sergey Senozhatsky; +Cc: stable, Jani Nikula, Suraj Kandpal

On Tue, Aug 12, 2025 at 03:35:54PM +0900, Sergey Senozhatsky wrote:
> On (25/08/05 11:11), Sergey Senozhatsky wrote:
> > On (25/08/04 19:16), Sergey Senozhatsky wrote:
> > > From: Jani Nikula <jani.nikula@intel.com>
> > > 
> > > [ Upstream commit e1980a977686d46dbf45687f7750f1c50d1d6cf8 ]
> > > 
> > > The caller doesn't actually need the returned struct intel_connector;
> > > it's stored in the ->attached_connector of intel_dp and
> > > intel_hdmi. Switch to returning an int with 0 for success and negative
> > > errors codes to be able to indicate success even when we don't have a
> > > connector.
> > > 
> > > Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>
> > > Tested-by: Sergey Senozhatsky <senozhatsky@chromium.org>
> > > Link: https://patchwork.freedesktop.org/patch/msgid/8ef7fe838231919e85eaead640c51ad3e4550d27.1735568047.git.jani.nikula@intel.com
> > > Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> > 
> > Just for the record, this series fixes multiple NULL-ptr derefs
> > in i915 code, which are observed in the wild.
> 
> Gentle ping.
> 

The merge window, and the weeks after that, are slammed for stable
backport work.  Please give us a chance to catch up with the thousands
of commits we have to now process...

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 6.12 1/6] drm/i915/ddi: change intel_ddi_init_{dp, hdmi}_connector() return type
  2025-08-12  7:35     ` Greg KH
@ 2025-08-12  8:16       ` Sergey Senozhatsky
  0 siblings, 0 replies; 17+ messages in thread
From: Sergey Senozhatsky @ 2025-08-12  8:16 UTC (permalink / raw)
  To: Greg KH; +Cc: Sergey Senozhatsky, stable, Jani Nikula, Suraj Kandpal

On (25/08/12 09:35), Greg KH wrote:
> On Tue, Aug 12, 2025 at 03:35:54PM +0900, Sergey Senozhatsky wrote:
> > On (25/08/05 11:11), Sergey Senozhatsky wrote:
> > > On (25/08/04 19:16), Sergey Senozhatsky wrote:
> > > > From: Jani Nikula <jani.nikula@intel.com>
> > > > 
> > > > [ Upstream commit e1980a977686d46dbf45687f7750f1c50d1d6cf8 ]
> > > > 
> > > > The caller doesn't actually need the returned struct intel_connector;
> > > > it's stored in the ->attached_connector of intel_dp and
> > > > intel_hdmi. Switch to returning an int with 0 for success and negative
> > > > errors codes to be able to indicate success even when we don't have a
> > > > connector.
> > > > 
> > > > Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>
> > > > Tested-by: Sergey Senozhatsky <senozhatsky@chromium.org>
> > > > Link: https://patchwork.freedesktop.org/patch/msgid/8ef7fe838231919e85eaead640c51ad3e4550d27.1735568047.git.jani.nikula@intel.com
> > > > Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> > > 
> > > Just for the record, this series fixes multiple NULL-ptr derefs
> > > in i915 code, which are observed in the wild.
> > 
> > Gentle ping.
> > 
> 
> The merge window, and the weeks after that, are slammed for stable
> backport work.  Please give us a chance to catch up with the thousands
> of commits we have to now process...

Sure, sorry for the noise.

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 6.12 1/6] drm/i915/ddi: change intel_ddi_init_{dp, hdmi}_connector() return type
  2025-08-12  6:35   ` Sergey Senozhatsky
  2025-08-12  7:35     ` Greg KH
@ 2025-08-12 10:47     ` Greg KH
  1 sibling, 0 replies; 17+ messages in thread
From: Greg KH @ 2025-08-12 10:47 UTC (permalink / raw)
  To: Sergey Senozhatsky; +Cc: stable, Jani Nikula, Suraj Kandpal

On Tue, Aug 12, 2025 at 03:35:54PM +0900, Sergey Senozhatsky wrote:
> On (25/08/05 11:11), Sergey Senozhatsky wrote:
> > On (25/08/04 19:16), Sergey Senozhatsky wrote:
> > > From: Jani Nikula <jani.nikula@intel.com>
> > > 
> > > [ Upstream commit e1980a977686d46dbf45687f7750f1c50d1d6cf8 ]
> > > 
> > > The caller doesn't actually need the returned struct intel_connector;
> > > it's stored in the ->attached_connector of intel_dp and
> > > intel_hdmi. Switch to returning an int with 0 for success and negative
> > > errors codes to be able to indicate success even when we don't have a
> > > connector.
> > > 
> > > Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>
> > > Tested-by: Sergey Senozhatsky <senozhatsky@chromium.org>
> > > Link: https://patchwork.freedesktop.org/patch/msgid/8ef7fe838231919e85eaead640c51ad3e4550d27.1735568047.git.jani.nikula@intel.com
> > > Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> > 
> > Just for the record, this series fixes multiple NULL-ptr derefs
> > in i915 code, which are observed in the wild.

Note, if you need/want some CVE ids for these, please ask at
cve@kernel.org.

I'll go queue these up now, thanks.

greg k-h

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2025-08-12 10:47 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-04 10:16 [PATCH 6.12 1/6] drm/i915/ddi: change intel_ddi_init_{dp, hdmi}_connector() return type Sergey Senozhatsky
2025-08-04 10:16 ` [PATCH 6.12 2/6] drm/i915/hdmi: propagate errors from intel_hdmi_init_connector() Sergey Senozhatsky
2025-08-05  1:06   ` Sasha Levin
2025-08-04 10:16 ` [PATCH 6.12 3/6] drm/i915/hdmi: add error handling in g4x_hdmi_init() Sergey Senozhatsky
2025-08-05  1:06   ` Sasha Levin
2025-08-04 10:16 ` [PATCH 6.12 4/6] drm/i915/ddi: gracefully handle errors from intel_ddi_init_hdmi_connector() Sergey Senozhatsky
2025-08-05  1:06   ` Sasha Levin
2025-08-04 10:16 ` [PATCH 6.12 5/6] drm/i915/display: add intel_encoder_is_hdmi() Sergey Senozhatsky
2025-08-05  1:06   ` Sasha Levin
2025-08-04 10:16 ` [PATCH 6.12 6/6] drm/i915/ddi: only call shutdown hooks for valid encoders Sergey Senozhatsky
2025-08-05  1:06   ` Sasha Levin
2025-08-05  1:06 ` [PATCH 6.12 1/6] drm/i915/ddi: change intel_ddi_init_{dp, hdmi}_connector() return type Sasha Levin
2025-08-05  2:11 ` Sergey Senozhatsky
2025-08-12  6:35   ` Sergey Senozhatsky
2025-08-12  7:35     ` Greg KH
2025-08-12  8:16       ` Sergey Senozhatsky
2025-08-12 10:47     ` Greg KH

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox