[linux-next:master] [workqueue] 21c05ca88a: RIP:__alloc_workqueue

From: kernel test robot

Date: Mon Jun 01 2026 - 22:59:14 EST




Hello,

kernel test robot noticed "RIP:__alloc_workqueue" on:

commit: 21c05ca88a548ca1353cbef189c97d4f03b90692 ("workqueue: Add warnings and ensure one among WQ_PERCPU or WQ_UNBOUND is present")
https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git master

[test failed on linux-next/master 7da7f07112610a520567421dd2ffcb51beaefbcc]

in testcase: xfstests
version: xfstests-x86_64-cac9fe2b-1_20260518
with following parameters:

disk: 4HDD
fs: btrfs
test: generic-169



config: x86_64-rhel-9.4-func
compiler: gcc-14
test machine: 8 threads Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz (Skylake) with 28G memory

(please refer to attached dmesg/kmsg for entire log/backtrace)


If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <oliver.sang@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-lkp/202606021026.6d6acabf-lkp@xxxxxxxxx


[ 3.050774][ T1] ------------[ cut here ]------------
[ 3.064584][ T1] workqueue: thermal_events is using neither WQ_PERCPU or WQ_UNBOUND. Setting WQ_PERCPU.
[ 3.074470][ T1] WARNING: kernel/workqueue.c:5837 at __alloc_workqueue+0x9cf/0xcb0, CPU#3: swapper/0/1
[ 3.084471][ T1] Modules linked in:
[ 3.087449][ T1] CPU: 3 UID: 0 PID: 1 Comm: swapper/0 Tainted: G S 7.1.0-rc2+ #1 PREEMPT(lazy)
[ 3.098472][ T1] Tainted: [S]=CPU_OUT_OF_SPEC
[ 3.103448][ T1] Hardware name: Dell Inc. OptiPlex 7040/0Y7WYT, BIOS 1.2.8 01/26/2016
[ 3.111467][ T1] RIP: 0010:__alloc_workqueue (workqueue.c:5837 (discriminator 1))
[ 3.117449][ T1] Code: 31 ed e9 bc fd ff ff 80 3d d3 b1 24 05 00 0f 84 e5 9c c6 ff f7 c3 02 01 00 00 0f 85 bd f6 ff ff 48 8d 3d 21 e1 2b 05 4c 89 fe <67> 48 0f b9 3a 80 cf 01 e9 a6 f6 ff ff 41 be 08 00 00 00 41 bd 00
All code
========
0: 31 ed xor %ebp,%ebp
2: e9 bc fd ff ff jmp 0xfffffffffffffdc3
7: 80 3d d3 b1 24 05 00 cmpb $0x0,0x524b1d3(%rip) # 0x524b1e1
e: 0f 84 e5 9c c6 ff je 0xffffffffffc69cf9
14: f7 c3 02 01 00 00 test $0x102,%ebx
1a: 0f 85 bd f6 ff ff jne 0xfffffffffffff6dd
20: 48 8d 3d 21 e1 2b 05 lea 0x52be121(%rip),%rdi # 0x52be148
27: 4c 89 fe mov %r15,%rsi
2a:* 67 48 0f b9 3a ud1 (%edx),%rdi <-- trapping instruction
2f: 80 cf 01 or $0x1,%bh
32: e9 a6 f6 ff ff jmp 0xfffffffffffff6dd
37: 41 be 08 00 00 00 mov $0x8,%r14d
3d: 41 rex.B
3e: bd .byte 0xbd
...

Code starting with the faulting instruction
===========================================
0: 67 48 0f b9 3a ud1 (%edx),%rdi
5: 80 cf 01 or $0x1,%bh
8: e9 a6 f6 ff ff jmp 0xfffffffffffff6b3
d: 41 be 08 00 00 00 mov $0x8,%r14d
13: 41 rex.B
14: bd .byte 0xbd
...
[ 3.136504][ T1] RSP: 0000:ffffc9000002fb00 EFLAGS: 00010246
[ 3.142449][ T1] RAX: 000000000000000e RBX: 0000000000000080 RCX: 1ffff92000005f4c
[ 3.150468][ T1] RDX: 0000000000000006 RSI: ffff88810df4ecb8 RDI: ffffffff8686adc0
[ 3.158466][ T1] RBP: ffff88810df4ec00 R08: ffffffff84c3942e R09: ffffc9000002fb88
[ 3.166466][ T1] R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000
[ 3.174467][ T1] R13: ffffffff84c39420 R14: ffffc9000002fb88 R15: ffff88810df4ecb8
[ 3.182467][ T1] FS: 0000000000000000(0000) GS:ffff88868c84b000(0000) knlGS:0000000000000000
[ 3.191469][ T1] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 3.197451][ T1] CR2: 0000000000000000 CR3: 0000000756870001 CR4: 00000000003706f0
[ 3.205467][ T1] Call Trace:
[ 3.208444][ T1] <TASK>
[ 3.211443][ T1] ? __pfx_mutex_unlock (x86/include/asm/atomic64_64.h:15)
[ 3.216448][ T1] ? __pfx_mutex_lock (locking/mutex.c:1114 (discriminator 1))
[ 3.221448][ T1] alloc_workqueue_noprof (workqueue.c:5932 workqueue.c:5948)
[ 3.226448][ T1] ? __pfx_alloc_workqueue_noprof (workqueue.c:5671 (discriminator 1))
[ 3.232449][ T1] ? __pfx_genl_register_family (netlink/genetlink.c:548 (discriminator 1))
[ 3.238450][ T1] ? add_device_randomness (linux/spinlock.h:408 char/random.c:936)
[ 3.243447][ T1] ? __pfx_thermal_init (usercopy_64.c:?)
[ 3.248447][ T1] thermal_init (thermal/thermal_core.c:1892 (discriminator 2))
[ 3.252447][ T1] ? __pfx_thermal_init (usercopy_64.c:?)
[ 3.257447][ T1] do_one_initcall (main.c:1392)
[ 3.262447][ T1] ? __pfx_do_one_initcall (trace/events/initcall.h:10)
[ 3.267448][ T1] ? parse_one (params.c:132)
[ 3.271446][ T1] ? kasan_save_track (kasan/common.c:78)
[ 3.276447][ T1] ? __kasan_kmalloc (kasan/common.c:398 kasan/common.c:415)
[ 3.281447][ T1] ? __kmalloc_noprof (linux/kasan.h:263 slub.c:5295 slub.c:5307)
[ 3.286447][ T1] do_initcalls (main.c:1454 (discriminator 1) main.c:1470 (discriminator 1))
[ 3.290447][ T1] kernel_init_freeable (main.c:1490 main.c:1703)
[ 3.295448][ T1] ? __pfx_kernel_init_freeable (main.c:1671)
[ 3.301449][ T1] ? __pfx_schedule_timeout (??:?)
[ 3.306449][ T1] ? __pfx__raw_spin_lock_irq (locking/spinlock.c:183)
[ 3.312448][ T1] ? __pfx_kernel_init (main.c:762)
[ 3.317447][ T1] ? __pfx_kernel_init (main.c:762)
[ 3.322447][ T1] kernel_init (main.c:1593)
[ 3.326446][ T1] ? __pfx_kernel_init (main.c:762)
[ 3.331447][ T1] ret_from_fork (x86/kernel/process.c:158)
[ 3.335447][ T1] ? __pfx_ret_from_fork (x86/include/asm/entry-common.h:54)
[ 3.340448][ T1] ? switch_fpu (linux/instrumented.h:82 asm-generic/bitops/instrumented-non-atomic.h:141 linux/thread_info.h:133 linux/sched.h:2066 x86/include/asm/fpu/sched.h:34)
[ 3.345447][ T1] ? __switch_to (x86/kernel/process_64.c:403 x86/kernel/process_64.c:663)
[ 3.349446][ T1] ? __switch_to_asm (x86/entry/entry_64.S:206)
[ 3.354447][ T1] ? __pfx_kernel_init (main.c:762)
[ 3.359448][ T1] ret_from_fork_asm (x86/entry/entry_64.S:245)
[ 3.364448][ T1] </TASK>
[ 3.367466][ T1] ---[ end trace 0000000000000000 ]---


The kernel config and materials to reproduce are available at:
https://download.01.org/0day-ci/archive/20260602/202606021026.6d6acabf-lkp@xxxxxxxxx



--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki