All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/4] drm/i915: Don't leak edid in intel_crt_detect_ddc()
@ 2017-01-20 14:28 ` Ander Conselvan de Oliveira
  0 siblings, 0 replies; 22+ messages in thread
From: Ander Conselvan de Oliveira @ 2017-01-20 14:28 UTC (permalink / raw)
  To: intel-gfx
  Cc: Ander Conselvan de Oliveira, Daniel Vetter, stable, Daniel Vetter

In the path where intel_crt_detect_ddc() detects a CRT, if would return
true without freeing the edid.

Found by coverity.

Fixes: a2bd1f541f19 ("drm/i915: check whether we actually received an
edid in detect_ddc")
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Daniel Vetter <daniel.vetter@intel.com>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: intel-gfx@lists.freedesktop.org
Cc: <stable@vger.kernel.org> # v3.6+
Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
---
 drivers/gpu/drm/i915/intel_crt.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_crt.c b/drivers/gpu/drm/i915/intel_crt.c
index 385e29a..2bf5aca 100644
--- a/drivers/gpu/drm/i915/intel_crt.c
+++ b/drivers/gpu/drm/i915/intel_crt.c
@@ -499,6 +499,7 @@ static bool intel_crt_detect_ddc(struct drm_connector *connector)
 	struct drm_i915_private *dev_priv = to_i915(crt->base.base.dev);
 	struct edid *edid;
 	struct i2c_adapter *i2c;
+	bool ret = false;
 
 	BUG_ON(crt->base.type != INTEL_OUTPUT_ANALOG);
 
@@ -515,17 +516,17 @@ static bool intel_crt_detect_ddc(struct drm_connector *connector)
 		 */
 		if (!is_digital) {
 			DRM_DEBUG_KMS("CRT detected via DDC:0x50 [EDID]\n");
-			return true;
+			ret = true;
+		} else {
+			DRM_DEBUG_KMS("CRT not detected via DDC:0x50 [EDID reports a digital panel]\n");
 		}
-
-		DRM_DEBUG_KMS("CRT not detected via DDC:0x50 [EDID reports a digital panel]\n");
 	} else {
 		DRM_DEBUG_KMS("CRT not detected via DDC:0x50 [no valid EDID found]\n");
 	}
 
 	kfree(edid);
 
-	return false;
+	return ret;
 }
 
 static enum drm_connector_status
-- 
2.5.5

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

end of thread, other threads:[~2017-01-23  8:40 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-01-20 14:28 [PATCH 1/4] drm/i915: Don't leak edid in intel_crt_detect_ddc() Ander Conselvan de Oliveira
2017-01-20 14:28 ` Ander Conselvan de Oliveira
2017-01-20 14:28 ` [PATCH 2/4] drm/i915: Don't init hpd polling for vlv and chv from runtime_suspend() Ander Conselvan de Oliveira
2017-01-20 14:28   ` Ander Conselvan de Oliveira
2017-01-20 14:58   ` Ville Syrjälä
2017-01-20 14:58     ` Ville Syrjälä
2017-01-20 14:28 ` [PATCH 3/4] drm/i915: Fix calculation of rotated x and y offsets for planar formats Ander Conselvan de Oliveira
2017-01-20 14:28   ` Ander Conselvan de Oliveira
2017-01-20 15:00   ` Ville Syrjälä
2017-01-20 15:00     ` Ville Syrjälä
2017-01-20 14:28 ` [PATCH 4/4] drm/i915: Check for NULL atomic state in intel_crtc_disable_noatomic() Ander Conselvan de Oliveira
2017-01-20 14:28   ` Ander Conselvan de Oliveira
2017-01-20 15:01   ` [Intel-gfx] " Ville Syrjälä
2017-01-20 15:01     ` Ville Syrjälä
2017-01-20 14:51 ` [PATCH] drm/i915/crt: Keep the EDID for the whole detect cycle Chris Wilson
2017-01-20 14:54 ` ✗ Fi.CI.BAT: warning for series starting with [1/4] drm/i915: Don't leak edid in intel_crt_detect_ddc() Patchwork
2017-01-23  8:40   ` Ander Conselvan De Oliveira
2017-01-20 15:02 ` [Intel-gfx] [PATCH 1/4] " Ville Syrjälä
2017-01-20 15:02   ` Ville Syrjälä
2017-01-20 15:09 ` Jani Nikula
2017-01-20 15:09   ` Jani Nikula
2017-01-20 15:54 ` ✗ Fi.CI.BAT: failure for series starting with drm/i915/crt: Keep the EDID for the whole detect cycle (rev2) Patchwork

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.