lkml.org 
[lkml]   [2015]   [Aug]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.13.y-ckt 11/53] Btrfs: use kmem_cache_free when freeing entry in inode cache
    Date
    3.13.11-ckt25 -stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Filipe Manana <fdmanana@suse.com>

    commit c3f4a1685bb87e59c886ee68f7967eae07d4dffa upstream.

    The free space entries are allocated using kmem_cache_zalloc(),
    through __btrfs_add_free_space(), therefore we should use
    kmem_cache_free() and not kfree() to avoid any confusion and
    any potential problem. Looking at the kfree() definition at
    mm/slab.c it has the following comment:

    /*
    * (...)
    *
    * Don't free memory not originally allocated by kmalloc()
    * or you will run into trouble.
    */

    So better be safe and use kmem_cache_free().

    Signed-off-by: Filipe Manana <fdmanana@suse.com>
    Reviewed-by: David Sterba <dsterba@suse.cz>
    Signed-off-by: Chris Mason <clm@fb.com>
    Signed-off-by: Kamal Mostafa <kamal@canonical.com>
    ---
    fs/btrfs/inode-map.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/fs/btrfs/inode-map.c b/fs/btrfs/inode-map.c
    index bac4511..9f8c7c7 100644
    --- a/fs/btrfs/inode-map.c
    +++ b/fs/btrfs/inode-map.c
    @@ -267,7 +267,7 @@ void btrfs_unpin_free_ino(struct btrfs_root *root)
    __btrfs_add_free_space(ctl, info->offset, count);
    free:
    rb_erase(&info->offset_index, rbroot);
    - kfree(info);
    + kmem_cache_free(btrfs_free_space_cachep, info);
    }
    }

    --
    1.9.1


    \
     
     \ /
      Last update: 2015-08-06 23:01    [W:6.126 / U:0.064 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site