intel-gfx.lists.freedesktop.org archive mirror
 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
  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
                   ` (7 more replies)
  0 siblings, 8 replies; 13+ 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] 13+ messages in thread

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

Thread overview: 13+ 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 ` [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: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 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 15:01   ` [Intel-gfx] " 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: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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).