ext4: use struct_size() to improve ext4_htree_store_dirent()

Inline and use struct_size() to calculate the number of bytes to
allocate for new_fn and remove the local variable len.

Reviewed-by: Jan Kara <jack@suse.cz>
Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
Link: https://patch.msgid.link/20241105103353.11590-2-thorsten.blum@linux.dev
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
This commit is contained in:
Thorsten Blum 2024-11-05 11:33:54 +01:00 committed by Theodore Ts'o
parent de183b2baf
commit d5e9836e13

View File

@ -471,14 +471,13 @@ int ext4_htree_store_dirent(struct file *dir_file, __u32 hash,
struct rb_node **p, *parent = NULL;
struct fname *fname, *new_fn;
struct dir_private_info *info;
int len;
info = dir_file->private_data;
p = &info->root.rb_node;
/* Create and allocate the fname structure */
len = sizeof(struct fname) + ent_name->len + 1;
new_fn = kzalloc(len, GFP_KERNEL);
new_fn = kzalloc(struct_size(new_fn, name, ent_name->len + 1),
GFP_KERNEL);
if (!new_fn)
return -ENOMEM;
new_fn->hash = hash;