treewide: refresh kmalloc_obj() conversions

This is another run of the Coccinelle script for converting kmalloc()
family of allocations to kmalloc_obj() via the existing rules in
scripts/coccinelle/api/kmalloc_objs.cocci

This catches both the set of kmalloc() uses added since the first
kmalloc_obj() conversions in v7.0 and adds a large group missed in the
first pass due to Coccinelle not interacting well with the cleanup.h
scoped_...() family of macros[1]. I worked around this with spatch's
"--macro-file" argument to a file with all the scoped_...() macros mapped
to Coccinelle's YACFE_ITERATOR[2] as that was the closest viable control
flow indicator I could find.

Build tested allmodconfig on x86, arm64, arm, loongarch, mips, powerpc,
riscv, and s390 with no new warnings.

Link: https://lore.kernel.org/lkml/202609021314.8A9C0B8@keescook/ [1]
Link: https://github.com/coccinelle/coccinelle/blob/master/standard.h [2]
Signed-off-by: Kees Cook <kees+treewide@kernel.org>
This commit is contained in:
Kees Cook
2026-09-04 21:37:00 -07:00
committed by Kees Cook
parent 90feea391c
commit 3a2c4d55e3
304 changed files with 637 additions and 726 deletions
+1 -1
View File
@@ -696,7 +696,7 @@ static int __init test_rhashtable_next_key(void)
if (err)
return err;
objs = kcalloc(n, sizeof(*objs), GFP_KERNEL);
objs = kzalloc_objs(*objs, n);
if (!objs) {
rhashtable_destroy(&ht);
return -ENOMEM;
+2 -2
View File
@@ -149,11 +149,11 @@ static int __init run_bench(int n_threads, const char *scope, const char *label)
if (ret)
return ret;
ctxs = kcalloc(n_threads, sizeof(*ctxs), GFP_KERNEL);
ctxs = kzalloc_objs(*ctxs, n_threads);
if (!ctxs)
return -ENOMEM;
tasks = kcalloc(n_threads, sizeof(*tasks), GFP_KERNEL);
tasks = kzalloc_objs(*tasks, n_threads);
if (!tasks) {
kfree(ctxs);
return -ENOMEM;
+1 -1
View File
@@ -57,7 +57,7 @@ static void *__init iov_kunit_create_buffer(struct kunit *test,
void *buffer;
unsigned int i;
pages = kzalloc_objs(struct page *, npages, GFP_KERNEL);
pages = kzalloc_objs(struct page *, npages);
KUNIT_ASSERT_NOT_ERR_OR_NULL(test, pages);
*ppages = pages;