Subject: [syzbot] [nvme?] linux-next test error: WARNING in __alloc_workqueue

From: syzbot <[email-masked]>
Date: Sat, 30 May 2026 01:06:30 -0700

Hello,

syzbot found the following issue on:

HEAD commit:    7da7f0711261 Add linux-next specific files for 20260529
git tree:       linux-next
console output: https://syzkaller.appspot.com/x/log.txt?x=1083d67e580000
kernel config:  https://syzkaller.appspot.com/x/.config?x=a40d26c705073da7
dashboard link: https://syzkaller.appspot.com/bug?extid=d078cba4418e65f61984
compiler:       Debian clang version 21.1.8 (++20251221033036+2078da43e25a-1~exp1~20251221153213.50), Debian LLD 21.1.8

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/c8bdcda3b30c/disk-7da7f071.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/c571d67d2763/vmlinux-7da7f071.xz
kernel image: https://storage.googleapis.com/syzbot-assets/6bdf4a6a4922/bzImage-7da7f071.xz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: [email-masked]

ACPI: button: Power Button [PWRF]
input: Sleep Button as /devices/platform/LNXSLPBN:00/input/input1
ACPI: button: Sleep Button [SLPF]
ioatdma: Intel(R) QuickData Technology Driver 5.00
ACPI: \_SB_.LNKC: Enabled at IRQ 11
virtio-pci 0000:00:03.0: virtio_pci: leaving for legacy driver
ACPI: \_SB_.LNKD: Enabled at IRQ 10
virtio-pci 0000:00:04.0: virtio_pci: leaving for legacy driver
ACPI: \_SB_.LNKB: Enabled at IRQ 10
virtio-pci 0000:00:06.0: virtio_pci: leaving for legacy driver
virtio-pci 0000:00:07.0: virtio_pci: leaving for legacy driver
N_HDLC line discipline registered with maxframe=4096
Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
00:02: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A
00:03: ttyS1 at I/O 0x2f8 (irq = 3, base_baud = 115200) is a 16550A
00:04: ttyS2 at I/O 0x3e8 (irq = 6, base_baud = 115200) is a 16550A
00:05: ttyS3 at I/O 0x2e8 (irq = 7, base_baud = 115200) is a 16550A
Non-volatile memory driver v1.3
usbcore: registered new interface driver xillyusb
ACPI: bus type drm_connector registered
[drm] Initialized vgem 1.0.0 for vgem on minor 0
[drm] Initialized vkms 1.0.0 for vkms on minor 1
Console: switching to colour frame buffer device 128x48
faux_driver vkms: [drm] fb0: vkmsdrmfb frame buffer device
usbcore: registered new interface driver udl
usbcore: registered new interface driver gm12u320
usbcore: registered new interface driver gud
brd: module loaded
loop: module loaded
zram: Added device: zram0
null_blk: disk nullb0 created
null_blk: module loaded
rnull_mod: Rust null_blk loaded
Guest personality initialized and is inactive
VMCI host device registered (name=vmci, major=10, minor=267)
Initialized host personality
usbcore: registered new interface driver rtsx_usb
usbcore: registered new interface driver viperboard
usbcore: registered new interface driver dln2
usbcore: registered new interface driver pn533_usb
nfcsim 0.2 initialized
usbcore: registered new interface driver port100
usbcore: registered new interface driver nfcmrvl
Loading iSCSI transport class v2.0-870.
virtio_scsi virtio0: 1/0/0 default/read/poll queues
scsi host0: Virtio SCSI HBA
blk-mq: reduced tag depth to 10240
st: Version 20160209, fixed bufsize 32768, s/g segs 256
------------[ cut here ]------------
workqueue: nvme_tcp_wq is using neither WQ_PERCPU or WQ_UNBOUND. Setting WQ_PERCPU.
WARNING: kernel/workqueue.c:5856 at __alloc_workqueue+0x1d02/0x2070 kernel/workqueue.c:5855, CPU#0: swapper/0/1
Modules linked in:
CPU: 0 UID: 0 PID: 1 Comm: swapper/0 Not tainted syzkaller #0 PREEMPT_{RT,(full)} 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/09/2026
RIP: 0010:__alloc_workqueue+0x1d07/0x2070 kernel/workqueue.c:5855
Code: e9 36 f9 ff ff e8 29 8a 37 00 e9 05 fb ff ff e8 1f 8a 37 00 e9 92 fb ff ff e8 15 8a 37 00 48 8d 3d ce a7 23 0e 48 8b 74 24 20 <67> 48 0f b9 3a 81 cd 00 01 00 00 e9 88 e5 ff ff e8 f4 89 37 00 48
RSP: 0000:ffffc900000677a8 EFLAGS: 00010293
RAX: ffffffff818e0c1b RBX: 0000000000000000 RCX: ffff88801d68dd00
RDX: 0000000000000000 RSI: ffff888027f28168 RDI: ffffffff8fb1b3f0
RBP: 0000000000000058 R08: ffff88801d68dd00 R09: 0000000000000002
R10: 0000000000000100 R11: 0000000000000102 R12: dffffc0000000000
R13: ffff888027f28000 R14: ffffc900000678c0 R15: 0000000000000000
FS:  0000000000000000(0000) GS:ffff888125c7e000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: ffff88823ffff000 CR3: 000000000dfb8000 CR4: 00000000003526f0
Call Trace:
 <TASK>
 alloc_workqueue_va kernel/workqueue.c:5950 [inline]
 alloc_workqueue_noprof+0xe3/0x210 kernel/workqueue.c:5966
 nvme_tcp_init_module+0x27/0x100 drivers/nvme/host/tcp.c:3050
 do_one_initcall+0x250/0x870 init/main.c:1347
 do_initcall_level+0x104/0x190 init/main.c:1409
 do_initcalls+0x59/0xa0 init/main.c:1425
 kernel_init_freeable+0x2a6/0x3e0 init/main.c:1658
 kernel_init+0x1d/0x1d0 init/main.c:1548
 ret_from_fork+0x514/0xb70 arch/x86/kernel/process.c:158
 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
 </TASK>
----------------
Code disassembly (best guess):
   0:	e9 36 f9 ff ff       	jmp    0xfffff93b
   5:	e8 29 8a 37 00       	call   0x378a33
   a:	e9 05 fb ff ff       	jmp    0xfffffb14
   f:	e8 1f 8a 37 00       	call   0x378a33
  14:	e9 92 fb ff ff       	jmp    0xfffffbab
  19:	e8 15 8a 37 00       	call   0x378a33
  1e:	48 8d 3d ce a7 23 0e 	lea    0xe23a7ce(%rip),%rdi        # 0xe23a7f3
  25:	48 8b 74 24 20       	mov    0x20(%rsp),%rsi
* 2a:	67 48 0f b9 3a       	ud1    (%edx),%rdi <-- trapping instruction
  2f:	81 cd 00 01 00 00    	or     $0x100,%ebp
  35:	e9 88 e5 ff ff       	jmp    0xffffe5c2
  3a:	e8 f4 89 37 00       	call   0x378a33
  3f:	48                   	rex.W

---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at [email-masked].

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.

If the report is already addressed, let syzbot know by replying with:
#syz fix: exact-commit-title

If you want to overwrite report's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)

If the report is a duplicate of another one, reply with:
#syz dup: exact-subject-of-another-report

If you want to undo deduplication, reply with:
#syz undup