f2fs: clean up kvfree
After commit 0b6d4ca04a
("f2fs: don't return vmalloc() memory from
f2fs_kmalloc()"), f2fs_k{m,z}alloc() will not return vmalloc()'ed
memory, so clean up to use kfree() instead of kvfree() to free
vmalloc()'ed memory.
Signed-off-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
This commit is contained in:
Родитель
6fcaebac66
Коммит
c8eb702484
|
@ -160,7 +160,7 @@ static void *f2fs_acl_to_disk(struct f2fs_sb_info *sbi,
|
|||
return (void *)f2fs_acl;
|
||||
|
||||
fail:
|
||||
kvfree(f2fs_acl);
|
||||
kfree(f2fs_acl);
|
||||
return ERR_PTR(-EINVAL);
|
||||
}
|
||||
|
||||
|
@ -190,7 +190,7 @@ static struct posix_acl *__f2fs_get_acl(struct inode *inode, int type,
|
|||
acl = NULL;
|
||||
else
|
||||
acl = ERR_PTR(retval);
|
||||
kvfree(value);
|
||||
kfree(value);
|
||||
|
||||
return acl;
|
||||
}
|
||||
|
@ -240,7 +240,7 @@ static int __f2fs_set_acl(struct inode *inode, int type,
|
|||
|
||||
error = f2fs_setxattr(inode, name_index, "", value, size, ipage, 0);
|
||||
|
||||
kvfree(value);
|
||||
kfree(value);
|
||||
if (!error)
|
||||
set_cached_acl(inode, type, acl);
|
||||
|
||||
|
|
|
@ -3570,7 +3570,7 @@ static void f2fs_dio_end_io(struct bio *bio)
|
|||
bio->bi_private = dio->orig_private;
|
||||
bio->bi_end_io = dio->orig_end_io;
|
||||
|
||||
kvfree(dio);
|
||||
kfree(dio);
|
||||
|
||||
bio_endio(bio);
|
||||
}
|
||||
|
|
|
@ -574,7 +574,7 @@ void f2fs_destroy_stats(struct f2fs_sb_info *sbi)
|
|||
list_del(&si->stat_list);
|
||||
mutex_unlock(&f2fs_stat_mutex);
|
||||
|
||||
kvfree(si);
|
||||
kfree(si);
|
||||
}
|
||||
|
||||
void __init f2fs_create_root_stats(void)
|
||||
|
|
|
@ -3373,7 +3373,7 @@ static int f2fs_ioc_getfslabel(struct file *filp, unsigned long arg)
|
|||
min(FSLABEL_MAX, count)))
|
||||
err = -EFAULT;
|
||||
|
||||
kvfree(vbuf);
|
||||
kfree(vbuf);
|
||||
return err;
|
||||
}
|
||||
|
||||
|
|
|
@ -152,7 +152,7 @@ int f2fs_start_gc_thread(struct f2fs_sb_info *sbi)
|
|||
"f2fs_gc-%u:%u", MAJOR(dev), MINOR(dev));
|
||||
if (IS_ERR(gc_th->f2fs_gc_task)) {
|
||||
err = PTR_ERR(gc_th->f2fs_gc_task);
|
||||
kvfree(gc_th);
|
||||
kfree(gc_th);
|
||||
sbi->gc_thread = NULL;
|
||||
}
|
||||
out:
|
||||
|
@ -165,7 +165,7 @@ void f2fs_stop_gc_thread(struct f2fs_sb_info *sbi)
|
|||
if (!gc_th)
|
||||
return;
|
||||
kthread_stop(gc_th->f2fs_gc_task);
|
||||
kvfree(gc_th);
|
||||
kfree(gc_th);
|
||||
sbi->gc_thread = NULL;
|
||||
}
|
||||
|
||||
|
|
|
@ -524,7 +524,7 @@ static int f2fs_move_rehashed_dirents(struct inode *dir, struct page *ipage,
|
|||
!f2fs_has_inline_xattr(dir))
|
||||
F2FS_I(dir)->i_inline_xattr_size = 0;
|
||||
|
||||
kvfree(backup_dentry);
|
||||
kfree(backup_dentry);
|
||||
return 0;
|
||||
recover:
|
||||
lock_page(ipage);
|
||||
|
@ -535,7 +535,7 @@ recover:
|
|||
set_page_dirty(ipage);
|
||||
f2fs_put_page(ipage, 1);
|
||||
|
||||
kvfree(backup_dentry);
|
||||
kfree(backup_dentry);
|
||||
return err;
|
||||
}
|
||||
|
||||
|
|
|
@ -707,7 +707,7 @@ out_f2fs_handle_failed_inode:
|
|||
f2fs_handle_failed_inode(inode);
|
||||
out_free_encrypted_link:
|
||||
if (disk_link.name != (unsigned char *)symname)
|
||||
kvfree(disk_link.name);
|
||||
kfree(disk_link.name);
|
||||
return err;
|
||||
}
|
||||
|
||||
|
|
|
@ -3257,7 +3257,7 @@ void f2fs_destroy_node_manager(struct f2fs_sb_info *sbi)
|
|||
kvfree(nm_i->nat_bitmap_mir);
|
||||
#endif
|
||||
sbi->nm_info = NULL;
|
||||
kvfree(nm_i);
|
||||
kfree(nm_i);
|
||||
}
|
||||
|
||||
int __init f2fs_create_node_manager_caches(void)
|
||||
|
|
|
@ -728,7 +728,7 @@ init_thread:
|
|||
"f2fs_flush-%u:%u", MAJOR(dev), MINOR(dev));
|
||||
if (IS_ERR(fcc->f2fs_issue_flush)) {
|
||||
err = PTR_ERR(fcc->f2fs_issue_flush);
|
||||
kvfree(fcc);
|
||||
kfree(fcc);
|
||||
SM_I(sbi)->fcc_info = NULL;
|
||||
return err;
|
||||
}
|
||||
|
@ -747,7 +747,7 @@ void f2fs_destroy_flush_cmd_control(struct f2fs_sb_info *sbi, bool free)
|
|||
kthread_stop(flush_thread);
|
||||
}
|
||||
if (free) {
|
||||
kvfree(fcc);
|
||||
kfree(fcc);
|
||||
SM_I(sbi)->fcc_info = NULL;
|
||||
}
|
||||
}
|
||||
|
@ -2105,7 +2105,7 @@ init_thread:
|
|||
"f2fs_discard-%u:%u", MAJOR(dev), MINOR(dev));
|
||||
if (IS_ERR(dcc->f2fs_issue_discard)) {
|
||||
err = PTR_ERR(dcc->f2fs_issue_discard);
|
||||
kvfree(dcc);
|
||||
kfree(dcc);
|
||||
SM_I(sbi)->dcc_info = NULL;
|
||||
return err;
|
||||
}
|
||||
|
@ -2129,7 +2129,7 @@ static void destroy_discard_cmd_control(struct f2fs_sb_info *sbi)
|
|||
if (unlikely(atomic_read(&dcc->discard_cmd_cnt)))
|
||||
f2fs_issue_discard_timeout(sbi);
|
||||
|
||||
kvfree(dcc);
|
||||
kfree(dcc);
|
||||
SM_I(sbi)->dcc_info = NULL;
|
||||
}
|
||||
|
||||
|
@ -5151,7 +5151,7 @@ static void destroy_dirty_segmap(struct f2fs_sb_info *sbi)
|
|||
|
||||
destroy_victim_secmap(sbi);
|
||||
SM_I(sbi)->dirty_info = NULL;
|
||||
kvfree(dirty_i);
|
||||
kfree(dirty_i);
|
||||
}
|
||||
|
||||
static void destroy_curseg(struct f2fs_sb_info *sbi)
|
||||
|
@ -5163,10 +5163,10 @@ static void destroy_curseg(struct f2fs_sb_info *sbi)
|
|||
return;
|
||||
SM_I(sbi)->curseg_array = NULL;
|
||||
for (i = 0; i < NR_CURSEG_TYPE; i++) {
|
||||
kvfree(array[i].sum_blk);
|
||||
kvfree(array[i].journal);
|
||||
kfree(array[i].sum_blk);
|
||||
kfree(array[i].journal);
|
||||
}
|
||||
kvfree(array);
|
||||
kfree(array);
|
||||
}
|
||||
|
||||
static void destroy_free_segmap(struct f2fs_sb_info *sbi)
|
||||
|
@ -5177,7 +5177,7 @@ static void destroy_free_segmap(struct f2fs_sb_info *sbi)
|
|||
SM_I(sbi)->free_info = NULL;
|
||||
kvfree(free_i->free_segmap);
|
||||
kvfree(free_i->free_secmap);
|
||||
kvfree(free_i);
|
||||
kfree(free_i);
|
||||
}
|
||||
|
||||
static void destroy_sit_info(struct f2fs_sb_info *sbi)
|
||||
|
@ -5189,7 +5189,7 @@ static void destroy_sit_info(struct f2fs_sb_info *sbi)
|
|||
|
||||
if (sit_i->sentries)
|
||||
kvfree(sit_i->bitmap);
|
||||
kvfree(sit_i->tmp_map);
|
||||
kfree(sit_i->tmp_map);
|
||||
|
||||
kvfree(sit_i->sentries);
|
||||
kvfree(sit_i->sec_entries);
|
||||
|
@ -5201,7 +5201,7 @@ static void destroy_sit_info(struct f2fs_sb_info *sbi)
|
|||
kvfree(sit_i->sit_bitmap_mir);
|
||||
kvfree(sit_i->invalid_segmap);
|
||||
#endif
|
||||
kvfree(sit_i);
|
||||
kfree(sit_i);
|
||||
}
|
||||
|
||||
void f2fs_destroy_segment_manager(struct f2fs_sb_info *sbi)
|
||||
|
@ -5217,7 +5217,7 @@ void f2fs_destroy_segment_manager(struct f2fs_sb_info *sbi)
|
|||
destroy_free_segmap(sbi);
|
||||
destroy_sit_info(sbi);
|
||||
sbi->sm_info = NULL;
|
||||
kvfree(sm_info);
|
||||
kfree(sm_info);
|
||||
}
|
||||
|
||||
int __init f2fs_create_segment_manager_caches(void)
|
||||
|
|
|
@ -39,7 +39,7 @@ static void xattr_free(struct f2fs_sb_info *sbi, void *xattr_addr,
|
|||
if (is_inline)
|
||||
kmem_cache_free(sbi->inline_xattr_slab, xattr_addr);
|
||||
else
|
||||
kvfree(xattr_addr);
|
||||
kfree(xattr_addr);
|
||||
}
|
||||
|
||||
static int f2fs_xattr_generic_get(const struct xattr_handler *handler,
|
||||
|
@ -425,7 +425,7 @@ static int read_all_xattrs(struct inode *inode, struct page *ipage,
|
|||
*base_addr = txattr_addr;
|
||||
return 0;
|
||||
fail:
|
||||
kvfree(txattr_addr);
|
||||
kfree(txattr_addr);
|
||||
return err;
|
||||
}
|
||||
|
||||
|
@ -610,7 +610,7 @@ ssize_t f2fs_listxattr(struct dentry *dentry, char *buffer, size_t buffer_size)
|
|||
}
|
||||
error = buffer_size - rest;
|
||||
cleanup:
|
||||
kvfree(base_addr);
|
||||
kfree(base_addr);
|
||||
return error;
|
||||
}
|
||||
|
||||
|
@ -750,7 +750,7 @@ static int __f2fs_setxattr(struct inode *inode, int index,
|
|||
if (!error && S_ISDIR(inode->i_mode))
|
||||
set_sbi_flag(F2FS_I_SB(inode), SBI_NEED_CP);
|
||||
exit:
|
||||
kvfree(base_addr);
|
||||
kfree(base_addr);
|
||||
return error;
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче