Baokun Li
a8d96a223e
jffs2: fix memory leak in jffs2_do_fill_super
[ Upstream commit c14adb1cf7 ]
If jffs2_iget() or d_make_root() in jffs2_do_fill_super() returns
an error, we can observe the following kmemleak report:
--------------------------------------------
unreferenced object 0xffff888105a65340 (size 64):
comm "mount", pid 710, jiffies 4302851558 (age 58.239s)
hex dump (first 32 bytes):
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
backtrace:
[<ffffffff859c45e5>] kmem_cache_alloc_trace+0x475/0x8a0
[<ffffffff86160146>] jffs2_sum_init+0x96/0x1a0
[<ffffffff86140e25>] jffs2_do_mount_fs+0x745/0x2120
[<ffffffff86149fec>] jffs2_do_fill_super+0x35c/0x810
[<ffffffff8614aae9>] jffs2_fill_super+0x2b9/0x3b0
[...]
unreferenced object 0xffff8881bd7f0000 (size 65536):
comm "mount", pid 710, jiffies 4302851558 (age 58.239s)
hex dump (first 32 bytes):
bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb ................
bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb ................
backtrace:
[<ffffffff858579ba>] kmalloc_order+0xda/0x110
[<ffffffff85857a11>] kmalloc_order_trace+0x21/0x130
[<ffffffff859c2ed1>] __kmalloc+0x711/0x8a0
[<ffffffff86160189>] jffs2_sum_init+0xd9/0x1a0
[<ffffffff86140e25>] jffs2_do_mount_fs+0x745/0x2120
[<ffffffff86149fec>] jffs2_do_fill_super+0x35c/0x810
[<ffffffff8614aae9>] jffs2_fill_super+0x2b9/0x3b0
[...]
--------------------------------------------
This is because the resources allocated in jffs2_sum_init() are not
released. Call jffs2_sum_exit() to release these resources to solve
the problem.
Fixes: e631ddba58 ("[JFFS2] Add erase block summary support (mount time improvement)")
Signed-off-by: Baokun Li <libaokun1@huawei.com>
Signed-off-by: Richard Weinberger <richard@nod.at>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-06-29 09:26:23 +09:00
..
2023-05-16 09:45:39 +09:00
2023-05-15 14:09:05 +09:00
2023-05-16 09:05:59 +09:00
2023-05-15 16:47:08 +09:00
2023-05-15 16:08:48 +09:00
2016-10-15 12:09:13 -07:00
2023-05-15 09:57:32 +09:00
2023-06-29 09:26:17 +09:00
2023-05-16 09:45:46 +09:00
2023-05-16 11:52:42 +09:00
2023-06-29 09:26:10 +09:00
2023-05-15 14:09:19 +09:00
2023-05-16 12:43:46 +09:00
2023-05-15 09:23:12 +09:00
2023-05-16 09:44:26 +09:00
2023-05-15 12:38:42 +09:00
2023-05-15 12:05:59 +09:00
2023-06-29 09:26:21 +09:00
2023-05-16 11:05:36 +09:00
2023-05-16 09:50:21 +09:00
2016-05-20 17:58:30 -07:00
2020-02-04 13:48:58 +09:00
2023-05-15 09:51:17 +09:00
2023-05-15 16:42:45 +09:00
2023-06-29 09:26:03 +09:00
2023-06-29 09:26:21 +09:00
2023-05-16 11:04:00 +09:00
2023-06-29 09:26:18 +09:00
2016-06-13 10:20:39 +02:00
2023-05-15 10:31:45 +09:00
2023-05-16 12:33:18 +09:00
2023-06-29 09:26:09 +09:00
2023-05-16 11:34:52 +09:00
2023-05-15 17:14:59 +09:00
2016-10-10 20:16:43 -07:00
2016-10-10 20:16:43 -07:00
2023-05-16 11:11:10 +09:00
2023-05-16 12:02:36 +09:00
2023-05-16 08:57:16 +09:00
2023-06-29 09:26:23 +09:00
2023-06-29 09:26:18 +09:00
2023-05-15 15:09:25 +09:00
2023-05-16 09:57:34 +09:00
2018-03-02 13:27:29 -08:00
2023-05-16 08:47:27 +09:00
2023-05-15 11:49:44 +09:00
2023-06-29 09:26:04 +09:00
2023-05-16 09:58:02 +09:00
2023-06-29 09:26:17 +09:00
2023-05-16 11:52:49 +09:00
2023-06-29 09:26:19 +09:00
2023-06-29 09:26:05 +09:00
2023-06-29 09:26:21 +09:00
2016-10-10 20:16:43 -07:00
2016-09-27 21:06:21 -04:00
2023-05-16 12:15:27 +09:00
2023-05-16 12:00:17 +09:00
2023-05-16 12:21:08 +09:00
2023-05-15 16:32:06 +09:00
2023-05-16 11:53:36 +09:00
2016-05-09 11:41:14 -04:00
2023-05-16 12:42:55 +09:00
2016-10-10 20:16:43 -07:00
2023-05-16 11:36:04 +09:00
2023-05-16 08:54:39 +09:00
2020-12-17 17:32:09 +09:00
2023-05-16 11:04:20 +09:00
2023-05-16 12:46:30 +09:00
2023-05-15 10:31:02 +09:00
2023-05-16 12:43:55 +09:00
2023-06-29 09:26:06 +09:00
2023-05-16 12:34:40 +09:00
2023-05-16 08:48:37 +09:00
2023-05-16 12:30:02 +09:00
2023-05-15 10:36:26 +09:00
2017-01-31 10:47:22 -08:00
2017-01-09 08:32:24 +01:00
2016-05-28 16:34:59 -07:00
2016-07-25 16:51:49 +10:00
2023-05-15 17:30:19 +09:00
2016-08-02 19:35:15 -04:00
2023-05-15 13:55:59 +09:00
2023-05-16 10:47:44 +09:00
2023-05-15 14:54:58 +09:00
2023-05-16 09:16:10 +09:00
2023-05-16 09:45:07 +09:00
2023-05-15 17:27:22 +09:00
2018-02-25 11:05:55 +01:00
2023-05-15 16:30:53 +09:00
2016-09-27 21:20:53 -04:00
2017-07-05 16:18:14 +02:00
2018-02-28 10:18:33 +01:00
2023-05-15 12:07:04 +09:00
2023-05-16 10:51:34 +09:00
2023-05-15 11:50:41 +09:00
2016-03-22 15:36:02 -07:00
2023-05-16 09:23:53 +09:00
2023-06-29 09:26:17 +09:00
2018-01-31 12:55:52 +01:00
2016-03-22 15:36:02 -07:00
2023-05-16 12:21:36 +09:00
2023-05-16 12:44:06 +09:00
2016-01-19 12:02:23 -05:00
2017-01-31 15:46:26 -08:00
2023-06-29 09:26:21 +09:00
2023-05-15 17:11:10 +09:00
2017-09-20 09:59:51 +02:00
2016-09-15 13:29:52 -07:00
2017-09-20 08:19:59 +02:00
2017-09-26 00:32:37 -07:00
2016-08-12 16:47:05 +01:00
2023-05-16 09:49:21 +09:00
2023-05-15 16:30:25 +09:00
2017-09-26 00:32:37 -07:00
2018-02-22 15:43:48 +01:00
2017-07-21 07:42:22 +02:00
2018-12-17 17:21:59 +08:00
2023-05-15 17:02:00 +09:00
2023-05-16 11:42:38 +09:00
2018-02-17 13:21:15 +01:00
2023-05-15 17:09:26 +09:00
2023-05-16 11:35:56 +09:00
2023-05-15 17:24:29 +09:00
2017-03-15 02:21:16 +00:00
2017-01-26 08:24:37 +01:00
2017-01-31 10:47:20 -08:00
2023-05-15 13:41:13 +09:00
2023-05-15 16:21:37 +09:00
2023-05-16 10:48:22 +09:00
2023-05-16 11:28:00 +09:00
2023-05-16 12:22:18 +09:00
2023-05-15 13:40:35 +09:00
2017-06-14 15:06:01 +02:00
2023-05-16 12:42:54 +09:00
2017-03-14 13:16:06 -07:00
2017-05-08 07:47:54 +02:00
2023-05-15 14:21:05 +09:00
2017-01-31 10:47:21 -08:00
2023-05-16 08:45:19 +09:00