Dongxing Zhang
08b33249d8
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@intel.com>
Signed-off-by: Xiaoming Wang <xiaoming.wang@intel.com>
Reviewed-by: Peter Hurley <peter@hurleysoftware.com>
Tested-by: Konstantin Khlebnikov <khlebnikov@yandex-team.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-07-23 15:11:08 -07:00
..
2015-07-16 23:47:19 +02:00
2015-07-17 16:39:53 -07:00
2015-07-09 11:20:01 -07:00
2015-07-15 15:36:47 -06:00
2015-06-18 21:00:06 +03:00
2015-06-26 11:54:29 -07:00
2015-07-15 21:46:59 +10:00
2015-07-17 16:39:53 -07:00
2015-07-07 10:44:45 +02:00
2015-07-16 23:47:19 +02:00
2015-07-09 22:59:49 +02:00
2015-07-08 15:14:13 +08:00
2015-07-17 16:39:53 -07:00
2015-07-03 12:10:12 -07:00
2015-07-03 15:20:57 -07:00
2015-07-18 10:27:12 -07:00
2015-07-17 18:18:04 +10:00
2015-06-22 16:23:43 +02:00
2015-07-02 10:25:22 -07:00
2015-07-03 14:39:06 +02:00
2015-07-01 16:15:05 +03:00
2015-07-09 22:25:54 +02:00
2015-07-01 10:49:25 -07:00
2015-07-13 14:19:22 -07:00
2015-07-14 13:20:16 -04:00
2015-07-11 11:16:04 -07:00
2015-07-01 14:44:22 -07:00
2015-07-18 10:27:12 -07:00
2015-06-24 16:49:49 -07:00
2015-07-01 19:09:11 -07:00
2015-06-22 17:59:09 -07:00
2015-07-02 10:36:29 -07:00
2015-07-17 20:53:57 -07:00
2015-07-01 19:09:11 -07:00
2015-07-06 05:33:17 -07:00
2015-06-30 19:44:57 -07:00
2015-07-17 16:39:53 -07:00
2015-07-10 12:16:59 -07:00
2015-07-17 16:39:53 -07:00
2015-07-01 10:49:25 -07:00
2015-07-19 14:12:22 -07:00
2015-06-26 14:51:15 -07:00
2015-07-04 14:09:32 -04:00
2015-06-30 14:30:34 -04:00
2015-07-01 19:40:18 -07:00
2015-07-01 15:19:35 -07:00
2015-07-02 10:25:22 -07:00
2015-06-27 12:44:34 -07:00
2015-07-17 16:39:53 -07:00
2015-07-14 11:02:44 -07:00
2015-07-06 23:52:21 +02:00
2015-07-02 10:42:13 -07:00
2015-06-23 13:32:38 -07:00
2015-06-23 14:08:54 -07:00
2015-07-02 10:25:22 -07:00
2015-06-18 11:44:41 +03:00
2015-07-18 00:42:31 +02:00
2015-07-15 13:12:44 -07:00
2015-07-19 14:18:00 -07:00
2015-07-01 15:19:35 -07:00
2015-07-02 14:40:49 -07:00
2015-06-18 00:19:56 +01:00
2015-07-14 19:34:57 -07:00
2015-07-04 14:13:43 -07:00
2015-07-01 10:49:25 -07:00
2015-07-23 15:11:08 -07:00
2015-07-17 16:39:53 -07:00
2015-06-28 12:32:13 -07:00
2015-07-04 14:13:43 -07:00
2015-07-10 21:44:19 +02:00
2015-07-03 16:02:25 -07:00
2015-07-17 16:39:53 -07:00
2015-07-04 14:13:43 -07:00
2015-06-24 21:24:10 -04:00
2015-06-29 10:34:42 -07:00