[PATCH 2/2] kthread: Drop warning on cpumask allocation failure in kthread_affine_node()
From: Quchaosheng
Date: Mon Sep 14 2026 - 08:21:43 EST
kthread_affine_node() warns when zalloc_cpumask_var() fails:
if (!zalloc_cpumask_var(&affinity, GFP_KERNEL)) {
WARN_ON_ONCE(1);
return;
}
The allocation uses GFP_KERNEL, so it can fail under memory pressure or
fault injection. A failed allocation is a recoverable condition and not a
kernel bug, so the warning is noise. syzbot reports it for a WireGuard
NAPI thread:
WARNING: kernel/kthread.c:359 at kthread_affine_node+0x200/0x2e8
CPU: 0 PID: 5207 Comm: napi/wg2-0
Call Trace:
alloc_cpumask_var_node+0xfc/0x138
zalloc_cpumask_var
kthread_affine_node+0x148/0x2e8
kthread+0x29c/0x3d4
ret_from_fork+0x10/0x20
The other two callers of zalloc_cpumask_var() in this file, in the kthread
preferred affinity and kthreads_online_cpu() paths, return -ENOMEM without
a warning. kthread_affine_node() returns void, so it cannot report the
error either, and it only skips the affinity setup for this thread. Return
early without warning, matching those callers.
Reported-by: syzbot+37ca7ae3e98cb65c3209@xxxxxxxxxxxxxxxxxxxxxxxxx
Closes: https://syzkaller.appspot.com/bug?extid=37ca7ae3e98cb65c3209
Signed-off-by: Quchaosheng <quchaosheng000406@xxxxxxx>
---
kernel/kthread.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/kernel/kthread.c b/kernel/kthread.c
index a3f95c904..f735a74b6 100644
--- a/kernel/kthread.c
+++ b/kernel/kthread.c
@@ -355,10 +355,8 @@ static void kthread_affine_node(void)
if (WARN_ON_ONCE(kthread_is_per_cpu(current)))
return;
- if (!zalloc_cpumask_var(&affinity, GFP_KERNEL)) {
- WARN_ON_ONCE(1);
+ if (!zalloc_cpumask_var(&affinity, GFP_KERNEL))
return;
- }
mutex_lock(&kthread_affinity_lock);
WARN_ON_ONCE(!list_empty(&kthread->affinity_node));