Memory allocated by kmem_cache_alloc() should not be deallocated with
kfree(). Use kmem_cache_free() instead.

Signed-off-by: Pan Bian <bianpan2...@163.com>
---
 drivers/mtd/ubi/fastmap.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/mtd/ubi/fastmap.c b/drivers/mtd/ubi/fastmap.c
index 5a832bc..717db749 100644
--- a/drivers/mtd/ubi/fastmap.c
+++ b/drivers/mtd/ubi/fastmap.c
@@ -1063,7 +1063,7 @@ int ubi_scan_fastmap(struct ubi_device *ubi, struct 
ubi_attach_info *ai,
                e = kmem_cache_alloc(ubi_wl_entry_slab, GFP_KERNEL);
                if (!e) {
                        while (i--)
-                               kfree(fm->e[i]);
+                               kmem_cache_free(ubi_wl_entry_slab, fm->e[i]);
 
                        ret = -ENOMEM;
                        goto free_hdr;
-- 
1.9.1


Reply via email to