From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH 1/4] drm/i915: Don't leak edid in intel_crt_detect_ddc() Date: Fri, 20 Jan 2017 17:09:26 +0200 Message-ID: <8760l9dazd.fsf@intel.com> References: <1484922525-6131-1-git-send-email-ander.conselvan.de.oliveira@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id F0B896E1BC for ; Fri, 20 Jan 2017 15:09:30 +0000 (UTC) In-Reply-To: <1484922525-6131-1-git-send-email-ander.conselvan.de.oliveira@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org Cc: Daniel Vetter , Ander Conselvan de Oliveira , stable@vger.kernel.org, Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCAyMCBKYW4gMjAxNywgQW5kZXIgQ29uc2VsdmFuIGRlIE9saXZlaXJhIDxhbmRlci5j b25zZWx2YW4uZGUub2xpdmVpcmFAaW50ZWwuY29tPiB3cm90ZToKPiBJbiB0aGUgcGF0aCB3aGVy ZSBpbnRlbF9jcnRfZGV0ZWN0X2RkYygpIGRldGVjdHMgYSBDUlQsIGlmIHdvdWxkIHJldHVybgo+ IHRydWUgd2l0aG91dCBmcmVlaW5nIHRoZSBlZGlkLgo+Cj4gRm91bmQgYnkgY292ZXJpdHkuCj4K PiBGaXhlczogYTJiZDFmNTQxZjE5ICgiZHJtL2k5MTU6IGNoZWNrIHdoZXRoZXIgd2UgYWN0dWFs bHkgcmVjZWl2ZWQgYW4KPiBlZGlkIGluIGRldGVjdF9kZGMiKQo+IENjOiBDaHJpcyBXaWxzb24g PGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KPiBDYzogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZl dHRlckBmZndsbC5jaD4KPiBDYzogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBpbnRlbC5j b20+Cj4gQ2M6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBsaW51eC5pbnRlbC5jb20+Cj4gQ2M6 IGludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBDYzogPHN0YWJsZUB2Z2VyLmtlcm5l bC5vcmc+ICMgdjMuNisKPiBTaWduZWQtb2ZmLWJ5OiBBbmRlciBDb25zZWx2YW4gZGUgT2xpdmVp cmEgPGFuZGVyLmNvbnNlbHZhbi5kZS5vbGl2ZWlyYUBpbnRlbC5jb20+CgpSZXZpZXdlZC1ieTog SmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGludGVsLmNvbT4KCj4gLS0tCj4gIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2NydC5jIHwgOSArKysrKy0tLS0KPiAgMSBmaWxlIGNoYW5nZWQsIDUg aW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9jcnQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NydC5j Cj4gaW5kZXggMzg1ZTI5YS4uMmJmNWFjYSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9jcnQuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NydC5j Cj4gQEAgLTQ5OSw2ICs0OTksNyBAQCBzdGF0aWMgYm9vbCBpbnRlbF9jcnRfZGV0ZWN0X2RkYyhz dHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gdG9faTkxNShjcnQtPmJhc2UuYmFzZS5kZXYpOwo+ICAJc3RydWN0IGVk aWQgKmVkaWQ7Cj4gIAlzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmkyYzsKPiArCWJvb2wgcmV0ID0gZmFs c2U7Cj4gIAo+ICAJQlVHX09OKGNydC0+YmFzZS50eXBlICE9IElOVEVMX09VVFBVVF9BTkFMT0cp Owo+ICAKPiBAQCAtNTE1LDE3ICs1MTYsMTcgQEAgc3RhdGljIGJvb2wgaW50ZWxfY3J0X2RldGVj dF9kZGMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiAgCQkgKi8KPiAgCQlpZiAo IWlzX2RpZ2l0YWwpIHsKPiAgCQkJRFJNX0RFQlVHX0tNUygiQ1JUIGRldGVjdGVkIHZpYSBEREM6 MHg1MCBbRURJRF1cbiIpOwo+IC0JCQlyZXR1cm4gdHJ1ZTsKPiArCQkJcmV0ID0gdHJ1ZTsKPiAr CQl9IGVsc2Ugewo+ICsJCQlEUk1fREVCVUdfS01TKCJDUlQgbm90IGRldGVjdGVkIHZpYSBEREM6 MHg1MCBbRURJRCByZXBvcnRzIGEgZGlnaXRhbCBwYW5lbF1cbiIpOwo+ICAJCX0KPiAtCj4gLQkJ RFJNX0RFQlVHX0tNUygiQ1JUIG5vdCBkZXRlY3RlZCB2aWEgRERDOjB4NTAgW0VESUQgcmVwb3J0 cyBhIGRpZ2l0YWwgcGFuZWxdXG4iKTsKPiAgCX0gZWxzZSB7Cj4gIAkJRFJNX0RFQlVHX0tNUygi Q1JUIG5vdCBkZXRlY3RlZCB2aWEgRERDOjB4NTAgW25vIHZhbGlkIEVESUQgZm91bmRdXG4iKTsK PiAgCX0KPiAgCj4gIAlrZnJlZShlZGlkKTsKPiAgCj4gLQlyZXR1cm4gZmFsc2U7Cj4gKwlyZXR1 cm4gcmV0Owo+ICB9Cj4gIAo+ICBzdGF0aWMgZW51bSBkcm1fY29ubmVjdG9yX3N0YXR1cwoKLS0g CkphbmkgTmlrdWxhLCBJbnRlbCBPcGVuIFNvdXJjZSBUZWNobm9sb2d5IENlbnRlcgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGlu ZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com ([192.55.52.88]:2456 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752405AbdATPJb (ORCPT ); Fri, 20 Jan 2017 10:09:31 -0500 From: Jani Nikula To: Ander Conselvan de Oliveira , intel-gfx@lists.freedesktop.org Cc: Ander Conselvan de Oliveira , Chris Wilson , Daniel Vetter , Daniel Vetter , stable@vger.kernel.org Subject: Re: [PATCH 1/4] drm/i915: Don't leak edid in intel_crt_detect_ddc() In-Reply-To: <1484922525-6131-1-git-send-email-ander.conselvan.de.oliveira@intel.com> References: <1484922525-6131-1-git-send-email-ander.conselvan.de.oliveira@intel.com> Date: Fri, 20 Jan 2017 17:09:26 +0200 Message-ID: <8760l9dazd.fsf@intel.com> MIME-Version: 1.0 Content-Type: text/plain Sender: stable-owner@vger.kernel.org List-ID: On Fri, 20 Jan 2017, Ander Conselvan de Oliveira wrote: > 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 > Cc: Daniel Vetter > Cc: Daniel Vetter > Cc: Jani Nikula > Cc: intel-gfx@lists.freedesktop.org > Cc: # v3.6+ > Signed-off-by: Ander Conselvan de Oliveira Reviewed-by: Jani Nikula > --- > 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 -- Jani Nikula, Intel Open Source Technology Center