OpenCloudOS-Kernel/drivers/mtd/ubi
Artem Bityutskiy 78b495c39a UBI: fix a horrible memory deallocation bug
UBI was mistakingly using 'kfree()' instead of 'kmem_cache_free()' when
freeing "attach eraseblock" structures in vtbl.c. Thankfully, this happened
only when we were doing auto-format, so many systems were unaffected. However,
there are still many users affected.

It is strange, but the system did not crash and nothing bad happened when
the SLUB memory allocator was used. However, in case of SLOB we observed an
crash right away.

This problem was introduced in 2.6.39 by commit
"6c1e875 UBI: add slab cache for ubi_scan_leb objects"

A note for stable trees:
  Because variable were renamed, this won't cleanly apply to older kernels.
  Changing names like this should help:
	1. ai -> si
	2. aeb_slab_cache -> seb_slab_cache
	3. new_aeb -> new_seb

Reported-by: Richard Genoud <richard.genoud@gmail.com>
Tested-by: Richard Genoud <richard.genoud@gmail.com>
Tested-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Cc: stable@vger.kernel.org [v2.6.39+]
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
2012-09-04 09:40:26 +03:00
..
Kconfig UBI: Change the default percentage of reserved PEB 2012-07-18 10:13:41 +03:00
Makefile UBI: rename scan.c to attach.c 2012-05-20 21:01:28 +03:00
attach.c UBI: add volume id struct ubi_ainf_peb 2012-05-21 11:34:41 +03:00
build.c UBI: move and rename attach_by_scanning 2012-05-20 20:26:04 +03:00
cdev.c UBI: fix spelling of detach in debug output 2012-07-18 10:13:41 +03:00
debug.c UBI: correct usage of IS_ENABLED() 2012-06-27 14:22:15 +03:00
debug.h UBI: rename sv to av 2012-05-20 20:26:02 +03:00
eba.c UBI: add lnum and vol_id to struct ubi_work 2012-05-21 11:34:41 +03:00
gluebi.c UBI: Kill data type hint 2012-05-20 20:25:59 +03:00
io.c UBI: amend comments after all the renamings 2012-05-20 20:26:04 +03:00
kapi.c UBI: modify ubi_wl_flush function to clear work queue for a lnum 2012-05-21 11:34:41 +03:00
misc.c UBI: harmonize the update of ubi->beb_rsvd_pebs 2012-07-18 14:30:34 +03:00
ubi-media.h UBI: add in hex the value for UBI_INTERNAL_VOL_START to comment 2012-05-20 21:30:45 +03:00
ubi.h UBI: harmonize the update of ubi->beb_rsvd_pebs 2012-07-18 14:30:34 +03:00
upd.c UBI: modify ubi_wl_flush function to clear work queue for a lnum 2012-05-21 11:34:41 +03:00
vmt.c UBI: harmonize the update of ubi->beb_rsvd_pebs 2012-07-18 14:30:34 +03:00
vtbl.c UBI: fix a horrible memory deallocation bug 2012-09-04 09:40:26 +03:00
wl.c UBI: correct ubi_wl_flush locking 2012-06-07 15:22:21 +03:00