[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CFE4847AFB257A49B523694D002FF03A118B5D47@SHSMSX104.ccr.corp.intel.com>
Date: Fri, 12 Jun 2015 07:47:52 +0000
From: "Zhang, Dongxing" <dongxing.zhang@...el.com>
To: "gregkh@...uxfoundation.org" <gregkh@...uxfoundation.org>,
"peter@...leysoftware.com" <peter@...leysoftware.com>,
"alan@...ux.intel.com" <alan@...ux.intel.com>,
"jslaby@...e.cz" <jslaby@...e.cz>,
"Deak, Imre" <imre.deak@...el.com>,
"daniel.vetter@...ll.ch" <daniel.vetter@...ll.ch>,
"van.freenix@...il.com" <van.freenix@...il.com>,
"joe@...ches.com" <joe@...ches.com>,
"tiwai@...e.de" <tiwai@...e.de>,
"nicolas.pitre@...aro.org" <nicolas.pitre@...aro.org>,
"prabhakar.csengg@...il.com" <prabhakar.csengg@...il.com>
CC: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"Wang, Xiaoming" <xiaoming.wang@...el.com>
Subject: RE: [PATCH] tty/vt: Fix the memory leak in visual_init
Add more reviewers
> -----Original Message-----
> From: Zhang, Dongxing
> Sent: Wednesday, June 10, 2015 3:21 PM
> To: gregkh@...uxfoundation.org; peter@...leysoftware.com;
> alan@...ux.intel.com
> Cc: linux-kernel@...r.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:
> [<ffffffff817b755e>] kmemleak_alloc+0x4e/0xb0
> [<ffffffff811d4898>] kmem_cache_alloc_trace+0x1c8/0x240
> [<ffffffff814ae7d3>] con_do_clear_unimap.isra.2+0x83/0xe0
> [<ffffffff814ae9b2>] con_clear_unimap+0x22/0x40
> [<ffffffff814a8db8>] vt_ioctl+0xeb8/0x1170
> [<ffffffff8149b458>] tty_ioctl+0x208/0xca0
> [<ffffffff81207858>] do_vfs_ioctl+0x2f8/0x510
> [<ffffffff81207af1>] SyS_ioctl+0x81/0xa0
> [<ffffffff817ca2b2>] system_call_fastpath+0x16/0x75
> [<ffffffffffffffff>] 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:
> [<ffffffff817b755e>] kmemleak_alloc+0x4e/0xb0
> [<ffffffff811d4898>] kmem_cache_alloc_trace+0x1c8/0x240
> [<ffffffff814ae286>] con_insert_unipair+0x86/0x170
> [<ffffffff814af107>] con_set_unimap+0x1b7/0x280
> [<ffffffff814a8d65>] vt_ioctl+0xe65/0x1170
> [<ffffffff8149b458>] tty_ioctl+0x208/0xca0
> [<ffffffff81207858>] do_vfs_ioctl+0x2f8/0x510
> [<ffffffff81207af1>] SyS_ioctl+0x81/0xa0
> [<ffffffff817ca2b2>] system_call_fastpath+0x16/0x75
> [<ffffffffffffffff>] 0xffffffffffffffff
>
> Signed-off-by: Dongxing Zhang <dongxing.zhang@...el.com>
> Signed-off-by: Xiaoming Wang <xiaoming.wang@...el.com>
> ---
> 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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists