From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Engestrom Subject: Re: [PATCH] drm/atomic: fix memory leak when fetching format name Date: Fri, 11 Nov 2016 17:17:49 +0000 Message-ID: <20161111171749.GA6891@imgtec.com> References: <20161111162622.21119-1-colin.king@canonical.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mailapp01.imgtec.com (mailapp01.imgtec.com [195.59.15.196]) by gabe.freedesktop.org (Postfix) with ESMTP id 14A9D6E930 for ; Fri, 11 Nov 2016 17:18:00 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20161111162622.21119-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: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gRnJpZGF5LCAyMDE2LTExLTExIDE2OjI2OjIyICswMDAwLCBDb2xpbiBLaW5nIHdyb3RlOgo+ IEZyb206IENvbGluIElhbiBLaW5nIDxjb2xpbi5raW5nQGNhbm9uaWNhbC5jb20+Cj4gCj4gZHJt X2dldF9mb3JtYXRfbmFtZSBhbGxvY2F0ZXMgbWVtb3J5IHRoYXQgaXMgbm90IGN1cnJlbnRseSBm cmVlJ2QKPiB3aGVuIHByaW50aW5nIHRoZSBzdGF0ZS4gRml4IHRoaXMgYnkga2ZyZWUnaW5nIHRo ZSBtZW1vcnkgYWZ0ZXIKPiB1c2UuCgpZb3UgYXJlIGNvcnJlY3QsIGJ1dCB0aGVyZSBhcmUgbW9y ZSBjYXNlcyBvZiB0aGlzLCBhbmQgYW5vdGhlciBmaXgKaGFzIGJlZW4gY2hvc2VuLiBTZWUgdGhp cyBwYXRjaCBbMV0gZm9yIHRoZSBmaXggYW5kIHRoZSByZXN0IG9mIHRoYXQKdGhyZWFkIFsyXSBm b3IgdGhlIGRpc2N1c3Npb24uCgpJJ2xsIHNlbmQgdjQgKHJlYmFzZSBhbmQgYSBtaXNzZWQgYGNv bnN0YCkgYXMgc29vbiBhcyBJIGhhdmUgdGhlIHRpbWUsCmJ1dCB0aGUgdXNhZ2Ugd2lsbCByZW1h aW4gdGhlIHNhbWUgYXMgaW4gdjMuCgpDaGVlcnMsCiAgRXJpYwoKWzFdIGh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVzL2RyaS1kZXZlbC8yMDE2LU5vdmVtYmVyLzEyMzI1MC5o dG1sClsyXSBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9hcmNoaXZlcy9kcmktZGV2ZWwv MjAxNi1Ob3ZlbWJlci90aHJlYWQuaHRtbCMxMjI4NDUKCj4gCj4gU2lnbmVkLW9mZi1ieTogQ29s aW4gSWFuIEtpbmcgPGNvbGluLmtpbmdAY2Fub25pY2FsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9n cHUvZHJtL2RybV9hdG9taWMuYyB8IDUgKysrLS0KPiAgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0 aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2RybV9hdG9taWMuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKPiBpbmRleCBmNWVh N2RiLi4xZDVlODZhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCj4gQEAgLTkxNyw5ICs5MTcsMTAg QEAgc3RhdGljIHZvaWQgZHJtX2F0b21pY19wbGFuZV9wcmludF9zdGF0ZShzdHJ1Y3QgZHJtX3By aW50ZXIgKnAsCj4gIAlpZiAoc3RhdGUtPmZiKSB7Cj4gIAkJc3RydWN0IGRybV9mcmFtZWJ1ZmZl ciAqZmIgPSBzdGF0ZS0+ZmI7Cj4gIAkJaW50IGksIG4gPSBkcm1fZm9ybWF0X251bV9wbGFuZXMo ZmItPnBpeGVsX2Zvcm1hdCk7Cj4gKwkJY2hhciAqZm9ybWF0X25hbWUgPSBkcm1fZ2V0X2Zvcm1h dF9uYW1lKGZiLT5waXhlbF9mb3JtYXQpOwo+ICAKPiAtCQlkcm1fcHJpbnRmKHAsICJcdFx0Zm9y bWF0PSVzXG4iLAo+IC0JCQkJZHJtX2dldF9mb3JtYXRfbmFtZShmYi0+cGl4ZWxfZm9ybWF0KSk7 Cj4gKwkJZHJtX3ByaW50ZihwLCAiXHRcdGZvcm1hdD0lc1xuIiwgZm9ybWF0X25hbWUpOwo+ICsJ CWtmcmVlKGZvcm1hdF9uYW1lKTsKPiAgCQlkcm1fcHJpbnRmKHAsICJcdFx0c2l6ZT0lZHglZFxu IiwgZmItPndpZHRoLCBmYi0+aGVpZ2h0KTsKPiAgCQlkcm1fcHJpbnRmKHAsICJcdFx0bGF5ZXJz OlxuIik7Cj4gIAkJZm9yIChpID0gMDsgaSA8IG47IGkrKykgewo+IC0tIAo+IDIuMTAuMgo+IApf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwg bWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934832AbcKKRSG (ORCPT ); Fri, 11 Nov 2016 12:18:06 -0500 Received: from mailapp01.imgtec.com ([195.59.15.196]:55824 "EHLO mailapp01.imgtec.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934676AbcKKRSF (ORCPT ); Fri, 11 Nov 2016 12:18:05 -0500 Date: Fri, 11 Nov 2016 17:17:49 +0000 From: Eric Engestrom To: Colin King CC: David Airlie , , Subject: Re: [PATCH] drm/atomic: fix memory leak when fetching format name Message-ID: <20161111171749.GA6891@imgtec.com> References: <20161111162622.21119-1-colin.king@canonical.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Disposition: inline In-Reply-To: <20161111162622.21119-1-colin.king@canonical.com> User-Agent: Mutt/1.7.1 (2016-10-04) X-Originating-IP: [10.60.4.28] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Friday, 2016-11-11 16:26:22 +0000, Colin King wrote: > From: Colin Ian King > > drm_get_format_name allocates memory that is not currently free'd > when printing the state. Fix this by kfree'ing the memory after > use. You are correct, but there are more cases of this, and another fix has been chosen. See this patch [1] for the fix and the rest of that thread [2] for the discussion. I'll send v4 (rebase and a missed `const`) as soon as I have the time, but the usage will remain the same as in v3. Cheers, Eric [1] https://lists.freedesktop.org/archives/dri-devel/2016-November/123250.html [2] https://lists.freedesktop.org/archives/dri-devel/2016-November/thread.html#122845 > > Signed-off-by: Colin Ian King > --- > drivers/gpu/drm/drm_atomic.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c > index f5ea7db..1d5e86a 100644 > --- a/drivers/gpu/drm/drm_atomic.c > +++ b/drivers/gpu/drm/drm_atomic.c > @@ -917,9 +917,10 @@ static void drm_atomic_plane_print_state(struct drm_printer *p, > if (state->fb) { > struct drm_framebuffer *fb = state->fb; > int i, n = drm_format_num_planes(fb->pixel_format); > + char *format_name = drm_get_format_name(fb->pixel_format); > > - drm_printf(p, "\t\tformat=%s\n", > - drm_get_format_name(fb->pixel_format)); > + drm_printf(p, "\t\tformat=%s\n", format_name); > + kfree(format_name); > drm_printf(p, "\t\tsize=%dx%d\n", fb->width, fb->height); > drm_printf(p, "\t\tlayers:\n"); > for (i = 0; i < n; i++) { > -- > 2.10.2 >