treewide: Replace kmalloc with kmalloc_obj for non-scalar types

This is the result of running the Coccinelle script from
scripts/coccinelle/api/kmalloc_objs.cocci. The script is designed to
avoid scalar types (which need careful case-by-case checking), and
instead replace kmalloc-family calls that allocate struct or union
object instances:

Single allocations:	kmalloc(sizeof(TYPE), ...)
are replaced with:	kmalloc_obj(TYPE, ...)

Array allocations:	kmalloc_array(COUNT, sizeof(TYPE), ...)
are replaced with:	kmalloc_objs(TYPE, COUNT, ...)

Flex array allocations:	kmalloc(struct_size(PTR, FAM, COUNT), ...)
are replaced with:	kmalloc_flex(*PTR, FAM, COUNT, ...)

(where TYPE may also be *VAR)

The resulting allocations no longer return "void *", instead returning
"TYPE *".

Signed-off-by: Kees Cook <kees@kernel.org>
This commit is contained in:
Kees Cook
2026-02-20 23:49:23 -08:00
parent d39a1d7486
commit 69050f8d6d
8016 changed files with 20055 additions and 20913 deletions

View File

@@ -903,8 +903,8 @@ static int zonefs_get_zone_info(struct zonefs_zone_data *zd)
struct block_device *bdev = zd->sb->s_bdev;
int ret;
zd->zones = kvcalloc(bdev_nr_zones(bdev), sizeof(struct blk_zone),
GFP_KERNEL);
zd->zones = kvzalloc_objs(struct blk_zone, bdev_nr_zones(bdev),
GFP_KERNEL);
if (!zd->zones)
return -ENOMEM;
@@ -948,8 +948,8 @@ static int zonefs_init_zgroup(struct super_block *sb,
if (!zgroup->g_nr_zones)
return 0;
zgroup->g_zones = kvcalloc(zgroup->g_nr_zones,
sizeof(struct zonefs_zone), GFP_KERNEL);
zgroup->g_zones = kvzalloc_objs(struct zonefs_zone, zgroup->g_nr_zones,
GFP_KERNEL);
if (!zgroup->g_zones)
return -ENOMEM;
@@ -1243,7 +1243,7 @@ static int zonefs_fill_super(struct super_block *sb, struct fs_context *fc)
* ZONEFS_F_AGGRCNV which increases the maximum file size of a file
* beyond the zone size is taken into account.
*/
sbi = kzalloc(sizeof(*sbi), GFP_KERNEL);
sbi = kzalloc_obj(*sbi, GFP_KERNEL);
if (!sbi)
return -ENOMEM;
@@ -1388,7 +1388,7 @@ static int zonefs_init_fs_context(struct fs_context *fc)
{
struct zonefs_context *ctx;
ctx = kzalloc(sizeof(struct zonefs_context), GFP_KERNEL);
ctx = kzalloc_obj(struct zonefs_context, GFP_KERNEL);
if (!ctx)
return -ENOMEM;
ctx->s_mount_opts = ZONEFS_MNTOPT_ERRORS_RO;