From mboxrd@z Thu Jan 1 00:00:00 1970 From: walter harms Date: Mon, 20 Mar 2017 18:30:43 +0000 Subject: Re: [PATCH] drm/gma500: fix memory leak on edid Message-Id: <58D01FD3.4040007@bfs.de> List-Id: References: <20170320175601.23149-1-colin.king@canonical.com> In-Reply-To: <20170320175601.23149-1-colin.king@canonical.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Colin King Cc: kernel-janitors@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Am 20.03.2017 18:56, schrieb Colin King: > From: Colin Ian King > > edid is allocated on the call to psb_intel_sdvo_get_edid but not > kfree'd at all, causing a memory leak. Fix this by kfree'ing > the edid. (This may be null, but kfree can handle null frees). > > Detected by CoverityScan, CID#1090730 ("Resource Leak") > > Fixes: 5736995b473b ("gma500: Replace SDVO code with slightly modified version from i915") > Signed-off-by: Colin Ian King > --- > drivers/gpu/drm/gma500/psb_intel_sdvo.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/gpu/drm/gma500/psb_intel_sdvo.c b/drivers/gpu/drm/gma500/psb_intel_sdvo.c > index e787d376ba67..f38e6ad1ab9b 100644 > --- a/drivers/gpu/drm/gma500/psb_intel_sdvo.c > +++ b/drivers/gpu/drm/gma500/psb_intel_sdvo.c > @@ -1650,6 +1650,7 @@ static bool psb_intel_sdvo_detect_hdmi_audio(struct drm_connector *connector) > edid = psb_intel_sdvo_get_edid(connector); > if (edid != NULL && edid->input & DRM_EDID_INPUT_DIGITAL) is the check here needed at all ? drm_detect_monitor_audio--> drm_find_cea_extension -->drm_find_edid_extension (will check for NULL) I missed DRM_EDID_INPUT_DIGITAL some where ? NTL i would expected drm_detect_monitor_audio to hanle it savely. re, wh > has_audio = drm_detect_monitor_audio(edid); > + kfree(edid); > > return has_audio; > } From mboxrd@z Thu Jan 1 00:00:00 1970 From: walter harms Subject: Re: [PATCH] drm/gma500: fix memory leak on edid Date: Mon, 20 Mar 2017 19:30:43 +0100 Message-ID: <58D01FD3.4040007@bfs.de> References: <20170320175601.23149-1-colin.king@canonical.com> Reply-To: wharms@bfs.de Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mx02-sz.bfs.de (mx02-sz.bfs.de [194.94.69.103]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0B8356E656 for ; Mon, 20 Mar 2017 18:30:49 +0000 (UTC) In-Reply-To: <20170320175601.23149-1-colin.king@canonical.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Colin King Cc: kernel-janitors@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org List-Id: dri-devel@lists.freedesktop.org CgpBbSAyMC4wMy4yMDE3IDE4OjU2LCBzY2hyaWViIENvbGluIEtpbmc6Cj4gRnJvbTogQ29saW4g SWFuIEtpbmcgPGNvbGluLmtpbmdAY2Fub25pY2FsLmNvbT4KPiAKPiBlZGlkIGlzIGFsbG9jYXRl ZCBvbiB0aGUgY2FsbCB0byBwc2JfaW50ZWxfc2R2b19nZXRfZWRpZCBidXQgbm90Cj4ga2ZyZWUn ZCBhdCBhbGwsIGNhdXNpbmcgYSBtZW1vcnkgbGVhay4gIEZpeCB0aGlzIGJ5IGtmcmVlJ2luZwo+ IHRoZSBlZGlkLiAgKFRoaXMgbWF5IGJlIG51bGwsIGJ1dCBrZnJlZSBjYW4gaGFuZGxlIG51bGwg ZnJlZXMpLgo+IAo+IERldGVjdGVkIGJ5IENvdmVyaXR5U2NhbiwgQ0lEIzEwOTA3MzAgKCJSZXNv dXJjZSBMZWFrIikKPiAKPiBGaXhlczogNTczNjk5NWI0NzNiICgiZ21hNTAwOiBSZXBsYWNlIFNE Vk8gY29kZSB3aXRoIHNsaWdodGx5IG1vZGlmaWVkIHZlcnNpb24gZnJvbSBpOTE1IikKPiBTaWdu ZWQtb2ZmLWJ5OiBDb2xpbiBJYW4gS2luZyA8Y29saW4ua2luZ0BjYW5vbmljYWwuY29tPgo+IC0t LQo+ICBkcml2ZXJzL2dwdS9kcm0vZ21hNTAwL3BzYl9pbnRlbF9zZHZvLmMgfCAxICsKPiAgMSBm aWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9nbWE1MDAvcHNiX2ludGVsX3Nkdm8uYyBiL2RyaXZlcnMvZ3B1L2RybS9nbWE1MDAvcHNi X2ludGVsX3Nkdm8uYwo+IGluZGV4IGU3ODdkMzc2YmE2Ny4uZjM4ZTZhZDFhYjliIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9nbWE1MDAvcHNiX2ludGVsX3Nkdm8uYwo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9nbWE1MDAvcHNiX2ludGVsX3Nkdm8uYwo+IEBAIC0xNjUwLDYgKzE2NTAs NyBAQCBzdGF0aWMgYm9vbCBwc2JfaW50ZWxfc2R2b19kZXRlY3RfaGRtaV9hdWRpbyhzdHJ1Y3Qg ZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICAJZWRpZCA9IHBzYl9pbnRlbF9zZHZvX2dldF9l ZGlkKGNvbm5lY3Rvcik7Cj4gIAlpZiAoZWRpZCAhPSBOVUxMICYmIGVkaWQtPmlucHV0ICYgRFJN X0VESURfSU5QVVRfRElHSVRBTCkKaXMgdGhlIGNoZWNrIGhlcmUgbmVlZGVkIGF0IGFsbCA/Cglk cm1fZGV0ZWN0X21vbml0b3JfYXVkaW8tLT4gZHJtX2ZpbmRfY2VhX2V4dGVuc2lvbiAtLT5kcm1f ZmluZF9lZGlkX2V4dGVuc2lvbiAod2lsbCBjaGVjayBmb3IgTlVMTCkKCkkgbWlzc2VkIERSTV9F RElEX0lOUFVUX0RJR0lUQUwgc29tZSB3aGVyZSA/IE5UTCBpIHdvdWxkIGV4cGVjdGVkIGRybV9k ZXRlY3RfbW9uaXRvcl9hdWRpbyB0byBoYW5sZSBpdCBzYXZlbHkuCgpyZSwKIHdoCgo+ICAJCWhh c19hdWRpbyA9IGRybV9kZXRlY3RfbW9uaXRvcl9hdWRpbyhlZGlkKTsKPiArCWtmcmVlKGVkaWQp Owo+ICAKPiAgCXJldHVybiBoYXNfYXVkaW87Cj4gIH0KX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vZHJpLWRldmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932326AbdCTSaw (ORCPT ); Mon, 20 Mar 2017 14:30:52 -0400 Received: from mx02-sz.bfs.de ([194.94.69.103]:27119 "EHLO mx02-sz.bfs.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756263AbdCTSat (ORCPT ); Mon, 20 Mar 2017 14:30:49 -0400 Message-ID: <58D01FD3.4040007@bfs.de> Date: Mon, 20 Mar 2017 19:30:43 +0100 From: walter harms Reply-To: wharms@bfs.de User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; de; rv:1.9.1.16) Gecko/20101125 SUSE/3.0.11 Thunderbird/3.0.11 MIME-Version: 1.0 To: Colin King CC: Patrik Jakobsson , David Airlie , dri-devel@lists.freedesktop.org, kernel-janitors@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] drm/gma500: fix memory leak on edid References: <20170320175601.23149-1-colin.king@canonical.com> In-Reply-To: <20170320175601.23149-1-colin.king@canonical.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Am 20.03.2017 18:56, schrieb Colin King: > From: Colin Ian King > > edid is allocated on the call to psb_intel_sdvo_get_edid but not > kfree'd at all, causing a memory leak. Fix this by kfree'ing > the edid. (This may be null, but kfree can handle null frees). > > Detected by CoverityScan, CID#1090730 ("Resource Leak") > > Fixes: 5736995b473b ("gma500: Replace SDVO code with slightly modified version from i915") > Signed-off-by: Colin Ian King > --- > drivers/gpu/drm/gma500/psb_intel_sdvo.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/gpu/drm/gma500/psb_intel_sdvo.c b/drivers/gpu/drm/gma500/psb_intel_sdvo.c > index e787d376ba67..f38e6ad1ab9b 100644 > --- a/drivers/gpu/drm/gma500/psb_intel_sdvo.c > +++ b/drivers/gpu/drm/gma500/psb_intel_sdvo.c > @@ -1650,6 +1650,7 @@ static bool psb_intel_sdvo_detect_hdmi_audio(struct drm_connector *connector) > edid = psb_intel_sdvo_get_edid(connector); > if (edid != NULL && edid->input & DRM_EDID_INPUT_DIGITAL) is the check here needed at all ? drm_detect_monitor_audio--> drm_find_cea_extension -->drm_find_edid_extension (will check for NULL) I missed DRM_EDID_INPUT_DIGITAL some where ? NTL i would expected drm_detect_monitor_audio to hanle it savely. re, wh > has_audio = drm_detect_monitor_audio(edid); > + kfree(edid); > > return has_audio; > }