aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mtd/ubi/wl.c
diff options
context:
space:
mode:
authorArtem Bityutskiy <Artem.Bityutskiy@nokia.com>2009-06-08 12:28:18 -0400
committerArtem Bityutskiy <Artem.Bityutskiy@nokia.com>2009-06-10 09:13:27 -0400
commit21d08bbcb19d9cdef8ab5b584f25b50d842068e9 (patch)
treea50210d1fe832fa9273483a6f4ba42102d8c3828 /drivers/mtd/ubi/wl.c
parent52b605d107de72c1d3385a3df972e79fb5befa4c (diff)
UBI: fix kmem_cache_free on error patch
'kmem_cache_free()' oopeses if NULL is passed, and there is one error-path place where UBI may call it with NULL object. This problem was pointed to by Adrian Hunter. Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Diffstat (limited to 'drivers/mtd/ubi/wl.c')
-rw-r--r--drivers/mtd/ubi/wl.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/mtd/ubi/wl.c b/drivers/mtd/ubi/wl.c
index f25ae2910ad0..acb5520f7f3d 100644
--- a/drivers/mtd/ubi/wl.c
+++ b/drivers/mtd/ubi/wl.c
@@ -826,7 +826,8 @@ static int wear_leveling_worker(struct ubi_device *ubi, struct ubi_work *wrk,
826 err = schedule_erase(ubi, e1, 0); 826 err = schedule_erase(ubi, e1, 0);
827 if (err) { 827 if (err) {
828 kmem_cache_free(ubi_wl_entry_slab, e1); 828 kmem_cache_free(ubi_wl_entry_slab, e1);
829 kmem_cache_free(ubi_wl_entry_slab, e2); 829 if (e2)
830 kmem_cache_free(ubi_wl_entry_slab, e2);
830 goto out_ro; 831 goto out_ro;
831 } 832 }
832 833