]> git.baikalelectronics.ru Git - kernel.git/commit
UBI: fix a horrible memory deallocation bug
authorArtem Bityutskiy <artem.bityutskiy@linux.intel.com>
Mon, 3 Sep 2012 14:12:29 +0000 (17:12 +0300)
committerArtem Bityutskiy <artem.bityutskiy@linux.intel.com>
Tue, 4 Sep 2012 06:40:26 +0000 (09:40 +0300)
commitcb76994a1035d620176463560037f144232258d7
tree1117d2f1694290265c3420b3c3c93499091e1b71
parent02230fc23eac9191110a1143d3da979dc7ed2a68
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
"4400ede 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>
drivers/mtd/ubi/vtbl.c