Zeng Zhaoming
106b5fa700
tty: Fix memory leak in virtual console when enable unicode translation
Virtual console unicode translation map leaks with following
message when enable kmemleak:
unreferenced object 0xeb5ec450 (size 192):
comm "setfont", pid 665, jiffies 4294899028 (age 3696.220s)
hex dump (first 32 bytes):
e0 5b 9d eb 00 00 00 00 00 00 00 00 80 b9 ea eb .[..............
b0 5a 9d eb 00 00 00 00 00 00 00 00 00 00 00 00 .Z..............
backtrace:
[<c1533f8c>] kmemleak_alloc+0x3c/0xa0
[<c114acc2>] kmem_cache_alloc_trace+0xe2/0x250
[<c13498e8>] con_clear_unimap+0x78/0xd0
[<c1345552>] vt_ioctl+0x1562/0x1d00
[<c133aa00>] tty_ioctl+0x230/0x7c0
[<c1171519>] do_vfs_ioctl+0x79/0x2d0
[<c11717df>] sys_ioctl+0x6f/0x80
[<c156601f>] sysenter_do_call+0x12/0x38
[<ffffffff>] 0xffffffff
unreferenced object 0xeb9d5be0 (size 128):
comm "setfont", pid 660, jiffies 4294899030 (age 3696.212s)
hex dump (first 32 bytes):
60 c2 a6 eb 50 c8 a6 eb c0 54 9d eb 80 59 9d eb `...P....T...Y..
90 53 9d eb 60 52 9d eb 60 92 9b eb 00 00 00 00 .S..`R..`.......
backtrace:
[<c1533f8c>] kmemleak_alloc+0x3c/0xa0
[<c114acc2>] kmem_cache_alloc_trace+0xe2/0x250
[<c134938c>] con_insert_unipair+0x7c/0x150
[<c1349f8c>] con_set_unimap+0x15c/0x1f0
[<c13456fb>] vt_ioctl+0x170b/0x1d00
[<c133aa00>] tty_ioctl+0x230/0x7c0
[<c1171519>] do_vfs_ioctl+0x79/0x2d0
[<c11717df>] sys_ioctl+0x6f/0x80
[<c156601f>] sysenter_do_call+0x12/0x38
[<ffffffff>] 0xffffffff
The leak caused by con_set_default_unimap() not correct free the old map.
Signed-off-by: Zeng Zhaoming <zengzm.kernel@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2012-01-04 16:18:55 -08:00
..
2011-11-12 21:30:14 -02:00
2011-11-17 02:11:42 -05:00
2011-10-25 13:25:22 +02:00
2011-11-21 20:36:26 -08:00
2011-10-31 19:32:02 -04:00
2011-11-16 09:21:50 +01:00
2011-11-09 16:22:15 -05:00
2011-11-17 11:42:54 -02:00
2011-11-06 19:44:47 -08:00
2011-11-11 22:28:33 -05:00
2011-11-07 10:13:52 -08:00
2011-11-06 19:44:47 -08:00
2011-10-31 19:31:43 -04:00
2011-11-14 23:31:35 +01:00
2011-11-06 19:44:47 -08:00
2011-11-06 19:44:47 -08:00
2011-11-06 19:44:47 -08:00
2011-11-15 22:41:51 -02:00
2011-11-15 14:45:50 -02:00
2011-11-23 09:47:25 -08:00
2011-11-06 19:44:47 -08:00
2011-11-17 03:16:19 -08:00
2011-11-08 18:34:16 -08:00
2011-11-23 11:33:07 +01:00
2011-11-18 22:04:12 -02:00
2011-11-07 10:13:52 -08:00
2011-11-06 19:44:47 -08:00
2011-11-22 09:18:06 -08:00
2011-11-08 17:11:57 +01:00
2011-11-06 19:44:47 -08:00
2011-11-15 22:41:50 -02:00
2011-10-31 19:32:13 -04:00
2011-11-08 22:35:48 +01:00
2011-11-08 16:22:06 +11:00
2011-11-12 00:03:50 -02:00
2011-10-31 19:31:52 -04:00
2011-10-31 19:31:53 -04:00
2011-11-07 21:45:14 -05:00
2011-11-21 20:36:05 -08:00
2011-11-11 16:53:35 +01:00
2011-11-07 21:26:55 -05:00
2011-11-17 21:43:57 -05:00
2011-10-31 19:31:54 -04:00
2011-11-22 15:09:20 -08:00
2011-10-31 19:31:01 -04:00
2011-11-30 20:11:46 +09:00
2011-11-23 14:58:46 -08:00
2011-11-06 19:44:47 -08:00
2011-11-10 09:02:12 +01:00
2011-11-17 10:29:02 -02:00
2011-11-07 10:13:52 -08:00
2011-11-06 19:44:47 -08:00
2011-11-02 16:07:02 -07:00
2011-11-08 14:51:46 +11:00
2011-11-06 19:44:47 -08:00
2011-11-23 14:03:52 +00:00
2011-11-15 17:13:17 +08:00
2011-11-20 14:59:33 -08:00
2011-11-14 10:47:01 -06:00
2011-10-31 19:31:57 -04:00
2011-11-11 16:16:25 +09:00
2011-11-20 14:34:58 -08:00
2011-10-31 19:32:08 -04:00
2011-11-22 13:19:21 -08:00
2011-11-06 19:44:47 -08:00
2011-11-06 20:38:49 -05:00
2012-01-04 16:18:55 -08:00
2011-10-31 19:32:10 -04:00
2011-11-21 20:37:11 -08:00
2011-10-31 19:32:19 -04:00
2011-11-06 19:44:47 -08:00
2011-11-24 13:04:48 +10:30
2011-11-06 19:44:47 -08:00
2011-11-16 22:04:17 +01:00
2011-11-16 12:13:48 -05:00
2011-10-31 19:32:01 -04:00
2011-10-26 15:39:02 +02:00
2011-10-26 15:39:02 +02:00