linux/drivers/mtd/ubi
Richard Genoud 1bf1890e86 UBI: add missing kmem_cache_free() in process_pool_aeb error path
I ran into this error after a ubiupdatevol, because I forgot to backport
e9110361a9 UBI: fix the volumes tree sorting criteria.

UBI error: process_pool_aeb: orphaned volume in fastmap pool
UBI error: ubi_scan_fastmap: Attach by fastmap failed, doing a full scan!
kmem_cache_destroy ubi_ainf_peb_slab: Slab cache still has objects
CPU: 0 PID: 1 Comm: swapper Not tainted 3.14.18-00053-gf05cac8dbf85 
[<c000d298>] (unwind_backtrace) from [<c000baa8>] (show_stack+0x10/0x14)
[<c000baa8>] (show_stack) from [<c01b7a68>] (destroy_ai+0x230/0x244)
[<c01b7a68>] (destroy_ai) from [<c01b8fd4>] (ubi_attach+0x98/0x1ec)
[<c01b8fd4>] (ubi_attach) from [<c01ade90>] (ubi_attach_mtd_dev+0x2b8/0x868)
[<c01ade90>] (ubi_attach_mtd_dev) from [<c038b510>] (ubi_init+0x1dc/0x2ac)
[<c038b510>] (ubi_init) from [<c0008860>] (do_one_initcall+0x94/0x140)
[<c0008860>] (do_one_initcall) from [<c037aadc>] (kernel_init_freeable+0xe8/0x1b0)
[<c037aadc>] (kernel_init_freeable) from [<c02730ac>] (kernel_init+0x8/0xe4)
[<c02730ac>] (kernel_init) from [<c00093f0>] (ret_from_fork+0x14/0x24)
UBI: scanning is finished

Freeing the cache in the error path fixes the Slab error.

Tested on at91sam9g35 (3.14.18+fastmap backports)

Signed-off-by: Richard Genoud <richard.genoud@gmail.com>
Cc: stable <stable@vger.kernel.org> # 3.10+
2014-09-16 18:18:58 +03:00
..
attach.c UBI: fix error return code 2014-01-02 17:16:01 +02:00
block.c UBI: block: Avoid disk size integer overflow 2014-07-28 18:52:13 +03:00
build.c UBI: R/O block driver on top of UBI volumes 2014-02-28 16:29:48 +02:00
cdev.c UBI: weaken the 'exclusive' constraint when opening volumes to rename 2014-05-13 13:45:16 +03:00
debug.c UBI: embed ubi_debug_info field in ubi_device struct 2012-12-10 13:38:59 +02:00
debug.h mtd: rename random32() to prandom_u32() 2013-02-04 09:26:28 +02:00
eba.c UBI: Wire-up ->fm_sem 2012-10-03 12:29:37 +03:00
fastmap.c UBI: add missing kmem_cache_free() in process_pool_aeb error path 2014-09-16 18:18:58 +03:00
gluebi.c UBI: gluebi: rename misleading variables 2012-11-30 13:54:41 +02:00
io.c UBI: avoid program operation on NOR flash after erasure interrupted 2014-01-09 18:25:38 +02:00
kapi.c UBI: modify ubi_wl_flush function to clear work queue for a lnum 2012-05-21 11:34:41 +03:00
Kconfig UBI: block: Add CONFIG_BLOCK dependency 2014-03-04 14:49:53 +02:00
Makefile UBI: R/O block driver on top of UBI volumes 2014-02-28 16:29:48 +02:00
misc.c UBI: comply with coding style 2012-09-04 09:39:01 +03:00
ubi-media.h UBI: Add fastmap on-flash data structures 2012-10-03 12:29:37 +03:00
ubi.h MTD updates for 3.15: 2014-04-07 10:17:30 -07:00
upd.c UBI: replace memcpy with struct assignment 2012-12-03 13:54:14 +02:00
vmt.c UBI: introduce helpers dbg_chk_{io, gen} 2012-12-10 13:38:59 +02:00
vtbl.c UBI: init_volumes: Ignore volumes with no LEBs 2014-07-19 09:53:52 +03:00
wl.c UBI: bugfix in ubi_wl_flush() 2014-07-28 19:07:33 +03:00