From: Artem Bityutskiy Date: Mon, 8 Jun 2009 16:28:18 +0000 (+0300) Subject: UBI: fix kmem_cache_free on error patch X-Git-Tag: v2.6.31-rc1~286^2~3 X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=21d08bbcb19d9cdef8ab5b584f25b50d842068e9;p=~emulex%2Finfiniband.git 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 --- diff --git a/drivers/mtd/ubi/wl.c b/drivers/mtd/ubi/wl.c index f25ae2910ad..acb5520f7f3 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, err = schedule_erase(ubi, e1, 0); if (err) { kmem_cache_free(ubi_wl_entry_slab, e1); - kmem_cache_free(ubi_wl_entry_slab, e2); + if (e2) + kmem_cache_free(ubi_wl_entry_slab, e2); goto out_ro; }