Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753222AbbFLHsA (ORCPT ); Fri, 12 Jun 2015 03:48:00 -0400 Received: from mga11.intel.com ([192.55.52.93]:28580 "EHLO mga11.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750781AbbFLHr6 convert rfc822-to-8bit (ORCPT ); Fri, 12 Jun 2015 03:47:58 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.13,600,1427785200"; d="scan'208";a="741995110" From: "Zhang, Dongxing" To: "gregkh@linuxfoundation.org" , "peter@hurleysoftware.com" , "alan@linux.intel.com" , "jslaby@suse.cz" , "Deak, Imre" , "daniel.vetter@ffwll.ch" , "van.freenix@gmail.com" , "joe@perches.com" , "tiwai@suse.de" , "nicolas.pitre@linaro.org" , "prabhakar.csengg@gmail.com" CC: "linux-kernel@vger.kernel.org" , "Wang, Xiaoming" Subject: RE: [PATCH] tty/vt: Fix the memory leak in visual_init Thread-Topic: [PATCH] tty/vt: Fix the memory leak in visual_init Thread-Index: AQHQpBWWEwKv9FadjkC5DEe/fZQQe52of7Ig Date: Fri, 12 Jun 2015 07:47:52 +0000 Message-ID: References: <1433920870-3430-1-git-send-email-dongxing.zhang@intel.com> In-Reply-To: <1433920870-3430-1-git-send-email-dongxing.zhang@intel.com> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 8BIT MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3076 Lines: 73 Add more reviewers > -----Original Message----- > From: Zhang, Dongxing > Sent: Wednesday, June 10, 2015 3:21 PM > To: gregkh@linuxfoundation.org; peter@hurleysoftware.com; > alan@linux.intel.com > Cc: linux-kernel@vger.kernel.org; Zhang, Dongxing; Wang, Xiaoming > Subject: [PATCH] tty/vt: Fix the memory leak in visual_init > > If vc->vc_uni_pagedir_loc is not NULL, its refcount needs to be decreased before > vc_uni_pagedir_loc is re-assigned. > > unreferenced object 0xffff88002cdd13b0 (size 512): > comm "setfont", pid 503, jiffies 4294896503 (age 722.828s) > hex dump (first 32 bytes): > 40 92 61 2b 00 88 ff ff 00 00 00 00 00 00 00 00 @.a+............ > 00 00 00 00 00 00 00 00 a0 ad 61 2b 00 88 ff ff ..........a+.... > backtrace: > [] kmemleak_alloc+0x4e/0xb0 > [] kmem_cache_alloc_trace+0x1c8/0x240 > [] con_do_clear_unimap.isra.2+0x83/0xe0 > [] con_clear_unimap+0x22/0x40 > [] vt_ioctl+0xeb8/0x1170 > [] tty_ioctl+0x208/0xca0 > [] do_vfs_ioctl+0x2f8/0x510 > [] SyS_ioctl+0x81/0xa0 > [] system_call_fastpath+0x16/0x75 > [] 0xffffffffffffffff unreferenced object 0xffff88002b619240 > (size 256): > comm "setfont", pid 503, jiffies 4294896503 (age 722.828s) > hex dump (first 32 bytes): > 90 bc 84 d5 00 88 ff ff 58 85 84 d5 00 88 ff ff ........X....... > 88 ac 84 d5 00 88 ff ff e0 b1 84 d5 00 88 ff ff ................ > backtrace: > [] kmemleak_alloc+0x4e/0xb0 > [] kmem_cache_alloc_trace+0x1c8/0x240 > [] con_insert_unipair+0x86/0x170 > [] con_set_unimap+0x1b7/0x280 > [] vt_ioctl+0xe65/0x1170 > [] tty_ioctl+0x208/0xca0 > [] do_vfs_ioctl+0x2f8/0x510 > [] SyS_ioctl+0x81/0xa0 > [] system_call_fastpath+0x16/0x75 > [] 0xffffffffffffffff > > Signed-off-by: Dongxing Zhang > Signed-off-by: Xiaoming Wang > --- > drivers/tty/vt/vt.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/tty/vt/vt.c b/drivers/tty/vt/vt.c index 4a24eb2..334c502 > 100644 > --- a/drivers/tty/vt/vt.c > +++ b/drivers/tty/vt/vt.c > @@ -738,6 +738,8 @@ static void visual_init(struct vc_data *vc, int num, int init) > __module_get(vc->vc_sw->owner); > vc->vc_num = num; > vc->vc_display_fg = &master_display_fg; > + if (vc->vc_uni_pagedir_loc) > + con_free_unimap(vc); > vc->vc_uni_pagedir_loc = &vc->vc_uni_pagedir; > vc->vc_uni_pagedir = NULL; > vc->vc_hi_font_mask = 0; > -- > 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/