Re: [PATCH] ext4: hash: change kzalloc(n * sizeof, ...) to kcalloc(n, sizeof, ...)

From: Matthew Wilcox
Date: Sat Mar 15 2025 - 23:30:16 EST


On Sat, Mar 15, 2025 at 12:29:34PM -0400, Ethan Carter Edwards wrote:
> Open coded arithmetic in allocator arguments is discouraged. Helper
> functions like kcalloc are preferred.

Well, yes, but ...

> +++ b/fs/ext4/hash.c
> @@ -302,7 +302,7 @@ int ext4fs_dirhash(const struct inode *dir, const char *name, int len,
>
> if (len && IS_CASEFOLDED(dir) &&
> (!IS_ENCRYPTED(dir) || fscrypt_has_encryption_key(dir))) {
> - buff = kzalloc(sizeof(char) * PATH_MAX, GFP_KERNEL);
> + buff = kcalloc(PATH_MAX, sizeof(char), GFP_KERNEL);

sizeof(char) is defined to be 1. So this should just be
kzalloc(PATH_MAX, GFP_KERNEL).