lkml.org 
[lkml]   [2022]   [Dec]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v2 4/6] ext4: allocate extended attribute value in vmalloc area
On Wed 07-12-22 15:40:41, Ye Bin wrote:
> From: Ye Bin <yebin10@huawei.com>
>
> Now, extended attribute value maxium length is 64K. The memory requested here
> does not need continuous physical addresses, so it is appropriate to use
> kvmalloc to request memory. At the same time, it can also cope with the
> situation that the extended attribute will become longer in the future.
>
> Signed-off-by: Ye Bin <yebin10@huawei.com>

Looks good. Feel free to add:

Reviewed-by: Jan Kara <jack@suse.cz>

Thanks!

Honza

> ---
> fs/ext4/xattr.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/fs/ext4/xattr.c b/fs/ext4/xattr.c
> index 75287422c36c..efa623658c12 100644
> --- a/fs/ext4/xattr.c
> +++ b/fs/ext4/xattr.c
> @@ -2579,7 +2579,7 @@ static int ext4_xattr_move_to_block(handle_t *handle, struct inode *inode,
>
> is = kzalloc(sizeof(struct ext4_xattr_ibody_find), GFP_NOFS);
> bs = kzalloc(sizeof(struct ext4_xattr_block_find), GFP_NOFS);
> - buffer = kmalloc(value_size, GFP_NOFS);
> + buffer = kvmalloc(value_size, GFP_NOFS);
> b_entry_name = kmalloc(entry->e_name_len + 1, GFP_NOFS);
> if (!is || !bs || !buffer || !b_entry_name) {
> error = -ENOMEM;
> @@ -2631,7 +2631,7 @@ static int ext4_xattr_move_to_block(handle_t *handle, struct inode *inode,
> error = 0;
> out:
> kfree(b_entry_name);
> - kfree(buffer);
> + kvfree(buffer);
> if (is)
> brelse(is->iloc.bh);
> if (bs)
> --
> 2.31.1
>
--
Jan Kara <jack@suse.com>
SUSE Labs, CR

\
 
 \ /
  Last update: 2022-12-07 11:58    [W:0.124 / U:0.944 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site