On Wed 07-12-22 15:40:41, Ye Bin wrote: > From: Ye Bin <yebin10@xxxxxxxxxx> > > 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@xxxxxxxxxx> Looks good. Feel free to add: Reviewed-by: Jan Kara <jack@xxxxxxx> 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@xxxxxxxx> SUSE Labs, CR