summaryrefslogtreecommitdiff
path: root/kernel/rcu
diff options
context:
space:
mode:
authorKees Cook <kees@kernel.org>2026-02-21 23:46:04 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2026-02-22 08:26:33 -0800
commit189f164e573e18d9f8876dbd3ad8fcbe11f93037 (patch)
tree733382723a15ea29b7c9f3dde3bcb281f0b3c287 /kernel/rcu
parent32a92f8c89326985e05dce8b22d3f0aa07a3e1bd (diff)
Convert remaining multi-line kmalloc_obj/flex GFP_KERNEL uses
Conversion performed via this Coccinelle script: // SPDX-License-Identifier: GPL-2.0-only // Options: --include-headers-for-types --all-includes --include-headers --keep-comments virtual patch @gfp depends on patch && !(file in "tools") && !(file in "samples")@ identifier ALLOC = {kmalloc_obj,kmalloc_objs,kmalloc_flex, kzalloc_obj,kzalloc_objs,kzalloc_flex, kvmalloc_obj,kvmalloc_objs,kvmalloc_flex, kvzalloc_obj,kvzalloc_objs,kvzalloc_flex}; @@ ALLOC(... - , GFP_KERNEL ) $ make coccicheck MODE=patch COCCI=gfp.cocci Build and boot tested x86_64 with Fedora 42's GCC and Clang: Linux version 6.19.0+ (user@host) (gcc (GCC) 15.2.1 20260123 (Red Hat 15.2.1-7), GNU ld version 2.44-12.fc42) #1 SMP PREEMPT_DYNAMIC 1970-01-01 Linux version 6.19.0+ (user@host) (clang version 20.1.8 (Fedora 20.1.8-4.fc42), LLD 20.1.8) #1 SMP PREEMPT_DYNAMIC 1970-01-01 Signed-off-by: Kees Cook <kees@kernel.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'kernel/rcu')
-rw-r--r--kernel/rcu/rcuscale.c7
-rw-r--r--kernel/rcu/rcutorture.c4
-rw-r--r--kernel/rcu/tasks.h2
3 files changed, 6 insertions, 7 deletions
diff --git a/kernel/rcu/rcuscale.c b/kernel/rcu/rcuscale.c
index 16adcbecf875..4ac2b134a983 100644
--- a/kernel/rcu/rcuscale.c
+++ b/kernel/rcu/rcuscale.c
@@ -909,7 +909,7 @@ kfree_scale_init(void)
kfree_by_call_rcu);
kfree_reader_tasks = kzalloc_objs(kfree_reader_tasks[0],
- kfree_nrealthreads, GFP_KERNEL);
+ kfree_nrealthreads);
if (kfree_reader_tasks == NULL) {
firsterr = -ENOMEM;
goto unwind;
@@ -1156,7 +1156,7 @@ rcu_scale_init(void)
goto unwind;
}
writer_freelists = kzalloc_objs(writer_freelists[0],
- nrealwriters, GFP_KERNEL);
+ nrealwriters);
}
if (!writer_tasks || !writer_durations || !writer_n_durations || !writer_done ||
(gp_async && !writer_freelists)) {
@@ -1178,8 +1178,7 @@ rcu_scale_init(void)
init_llist_head(&wflp->ws_lhg);
init_llist_head(&wflp->ws_lhp);
wflp->ws_mblocks = kzalloc_objs(wflp->ws_mblocks[0],
- gp_async_max,
- GFP_KERNEL);
+ gp_async_max);
if (!wflp->ws_mblocks) {
firsterr = -ENOMEM;
goto unwind;
diff --git a/kernel/rcu/rcutorture.c b/kernel/rcu/rcutorture.c
index 9279bb57586b..8a9282a0245c 100644
--- a/kernel/rcu/rcutorture.c
+++ b/kernel/rcu/rcutorture.c
@@ -4549,7 +4549,7 @@ rcu_torture_init(void)
rcu_torture_write_types();
if (nrealfakewriters > 0) {
fakewriter_tasks = kzalloc_objs(fakewriter_tasks[0],
- nrealfakewriters, GFP_KERNEL);
+ nrealfakewriters);
if (fakewriter_tasks == NULL) {
TOROUT_ERRSTRING("out of memory");
firsterr = -ENOMEM;
@@ -4564,7 +4564,7 @@ rcu_torture_init(void)
}
reader_tasks = kzalloc_objs(reader_tasks[0], nrealreaders);
rcu_torture_reader_mbchk = kzalloc_objs(*rcu_torture_reader_mbchk,
- nrealreaders, GFP_KERNEL);
+ nrealreaders);
if (!reader_tasks || !rcu_torture_reader_mbchk) {
TOROUT_ERRSTRING("out of memory");
firsterr = -ENOMEM;
diff --git a/kernel/rcu/tasks.h b/kernel/rcu/tasks.h
index d9ccf18eb035..2b55e6acf3c1 100644
--- a/kernel/rcu/tasks.h
+++ b/kernel/rcu/tasks.h
@@ -260,7 +260,7 @@ static void cblist_init_generic(struct rcu_tasks *rtp)
lim = rcu_task_enqueue_lim;
rtp->rtpcp_array = kzalloc_objs(struct rcu_tasks_percpu *,
- num_possible_cpus(), GFP_KERNEL);
+ num_possible_cpus());
BUG_ON(!rtp->rtpcp_array);
for_each_possible_cpu(cpu) {