Re: ubi: fastmap: use kmem_cache_free to deallocate memory

From: Boris Brezillon
Date: Mon Oct 30 2017 - 04:28:32 EST


On Sun, 29 Oct 2017 20:40:02 +0800
Pan Bian <bianpan2016@xxxxxxx> wrote:

> Memory allocated by kmem_cache_alloc() should not be deallocated with
> kfree(). Use kmem_cache_free() instead.
>
> Signed-off-by: Pan Bian <bianpan2016@xxxxxxx>

Reviewed-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx>

Richard, maybe you can add:

Fixes: dbb7d2a88d2a ("UBI: Add fastmap core")
Cc: <stable@xxxxxxxxxxxxxxx>

> ---
> 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;