[bug report] nvme/063 failure (tcp transport)
Shinichiro Kawasaki
shinichiro.kawasaki at wdc.com
Fri May 16 05:31:16 PDT 2025
Hello all,
Using the kernel v6.15-rc6 and the latest blktests (git hash 613b8377e4d3), I
observe the test case nvme/063 fails with tcp transport. Kernel reported WARN in
blk_mq_unquiesce_queue and KASAN sauf in blk_mq_queue_tag_busy_iter [1]. The
failure is recreated in stable manner on my test nodes.
The test case script had a bug then this failure was not found until the bug get
fixed. I tried the kernel v6.15-rc1, and observed the same failure symptom. This
test case cannot be run with the kernel v6.14, since it does not have secure
concatenation feature.
Actions for fix will be appreciated.
[1]
[ 488.383002] [ T1083] run blktests nvme/063 at 2025-05-16 21:22:03
[ 488.470839] [ T1194] nvmet: adding nsid 1 to subsystem blktests-subsystem-1
[ 488.479069] [ T1195] nvmet: Allow non-TLS connections while TLS1.3 is enabled
[ 488.485222] [ T1198] nvmet_tcp: enabling port 0 (127.0.0.1:4420)
[ 488.607352] [ T1209] nvme nvme1: failed to connect socket: -512
[ 488.616211] [ T111] nvmet_tcp: failed to allocate queue, error -107
[ 488.623181] [ T98] nvmet: Created nvm controller 1 for subsystem blktests-subsystem-1 for NQN nqn.2014-08.org.nvmexpress:uuid:0f01fb42-9f7f-4856-b0b3-51e60b8de349 with DH-HMAC-CHAP.
[ 488.639788] [ T48] nvme nvme1: qid 0: authenticated with hash hmac(sha256) dhgroup ffdhe2048
[ 488.640943] [ T1209] nvme nvme1: qid 0: authenticated
[ 488.643129] [ T1209] nvme nvme1: Please enable CONFIG_NVME_MULTIPATH for full support of multi-port devices.
[ 488.707387] [ T117] nvmet: Created nvm controller 1 for subsystem blktests-subsystem-1 for NQN nqn.2014-08.org.nvmexpress:uuid:0f01fb42-9f7f-4856-b0b3-51e60b8de349, TLS.
[ 488.710650] [ T1209] nvme nvme1: Please enable CONFIG_NVME_MULTIPATH for full support of multi-port devices.
[ 488.711363] [ T1209] nvme nvme1: creating 4 I/O queues.
[ 488.727670] [ T1209] nvme nvme1: mapped 4/0/0 default/read/poll queues.
[ 488.730042] [ T1209] nvme nvme1: new ctrl: NQN "blktests-subsystem-1", addr 127.0.0.1:4420, hostnqn: nqn.2014-08.org.nvmexpress:uuid:0f01fb42-9f7f-4856-b0b3-51e60b8de349
[ 488.794602] [ T1246] nvme nvme1: resetting controller
[ 488.801319] [ T224] nvmet: Created nvm controller 2 for subsystem blktests-subsystem-1 for NQN nqn.2014-08.org.nvmexpress:uuid:0f01fb42-9f7f-4856-b0b3-51e60b8de349 with DH-HMAC-CHAP.
[ 488.817111] [ T1247] nvme nvme1: qid 0: authenticated with hash hmac(sha256) dhgroup ffdhe2048
[ 488.817872] [ T111] nvme nvme1: qid 0: authenticated
[ 488.819541] [ T111] nvme nvme1: Please enable CONFIG_NVME_MULTIPATH for full support of multi-port devices.
[ 488.827162] [ T98] nvmet: Created nvm controller 1 for subsystem blktests-subsystem-1 for NQN nqn.2014-08.org.nvmexpress:uuid:0f01fb42-9f7f-4856-b0b3-51e60b8de349, TLS.
[ 488.830619] [ T111] nvme nvme1: Please enable CONFIG_NVME_MULTIPATH for full support of multi-port devices.
[ 488.831632] [ T111] nvme nvme1: creating 4 I/O queues.
[ 488.853083] [ T111] ------------[ cut here ]------------
[ 488.853350] [ T111] WARNING: CPU: 3 PID: 111 at block/blk-mq.c:330 blk_mq_unquiesce_queue+0x8f/0xb0
[ 488.853752] [ T111] Modules linked in: tls nvmet_tcp nvmet nvme_tcp nvme_fabrics nft_fib_inet nft_fib_ipv4 nft_fib_ipv6 nft_fib nft_reject_inet nf_reject_ipv4 nf_reject_ipv6 nft_reject nft_ct nft_chain_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 ip_set nf_tables qrtr sunrpc 9pnet_virtio ppdev 9pnet netfs parport_pc e1000 parport i2c_piix4 i2c_smbus pcspkr fuse loop dm_multipath nfnetlink vsock_loopback vmw_vsock_virtio_transport_common vmw_vsock_vmci_transport vsock vmw_vmci zram bochs drm_client_lib drm_shmem_helper drm_kms_helper xfs drm sym53c8xx nvme scsi_transport_spi nvme_core nvme_keyring floppy nvme_auth serio_raw ata_generic pata_acpi qemu_fw_cfg
[ 488.856850] [ T111] CPU: 3 UID: 0 PID: 111 Comm: kworker/u16:4 Not tainted 6.15.0-rc6+ #27 PREEMPT(voluntary)
[ 488.857366] [ T111] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-3.fc41 04/01/2014
[ 488.857832] [ T111] Workqueue: nvme-reset-wq nvme_reset_ctrl_work [nvme_tcp]
[ 488.858253] [ T111] RIP: 0010:blk_mq_unquiesce_queue+0x8f/0xb0
[ 488.858536] [ T111] Code: 01 48 89 de bf 09 00 00 00 e8 3d 92 fc ff 48 89 ee 4c 89 e7 e8 e2 d7 81 01 48 89 df be 01 00 00 00 5b 5d 41 5c e9 b1 fb ff ff <0f> 0b 5b 48 89 ee 4c 89 e7 5d 41 5c e9 c0 d7 81 01 e8 eb 1f 83 ff
[ 488.859493] [ T111] RSP: 0018:ffff88812090fb58 EFLAGS: 00010046
[ 488.859791] [ T111] RAX: 0000000000000000 RBX: ffff8881249b4e00 RCX: ffffffff8a6b8369
[ 488.860197] [ T111] RDX: 0000000000000000 RSI: 0000000000000004 RDI: ffff8881249b4f50
[ 488.861504] [ T111] RBP: 0000000000000246 R08: 0000000000000001 R09: ffffed1024121f59
[ 488.862741] [ T111] R10: 0000000000000003 R11: 0000000000000000 R12: ffff8881249b4f10
[ 488.864004] [ T111] R13: ffff888105178108 R14: ffff888105178348 R15: ffff888105178450
[ 488.866593] [ T111] FS: 0000000000000000(0000) GS:ffff88840f9bf000(0000) knlGS:0000000000000000
[ 488.867757] [ T111] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 488.868787] [ T111] CR2: 000056091c302598 CR3: 000000013a27a000 CR4: 00000000000006f0
[ 488.869883] [ T111] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 488.871019] [ T111] DR3: 0000000000000000 DR6: 00000000ffff07f0 DR7: 0000000000000400
[ 488.872141] [ T111] Call Trace:
[ 488.872974] [ T111] <TASK>
[ 488.873852] [ T111] blk_mq_unquiesce_tagset+0xaf/0xe0
[ 488.874869] [ T111] nvme_tcp_setup_ctrl.cold+0x6f2/0xc89 [nvme_tcp]
[ 488.876002] [ T111] ? __pfx_nvme_tcp_setup_ctrl+0x10/0x10 [nvme_tcp]
[ 488.877077] [ T111] ? _raw_spin_unlock_irqrestore+0x35/0x60
[ 488.878130] [ T111] ? nvme_change_ctrl_state+0x196/0x2e0 [nvme_core]
[ 488.879169] [ T111] nvme_reset_ctrl_work+0x1a1/0x250 [nvme_tcp]
[ 488.880128] [ T111] process_one_work+0x84f/0x1460
[ 488.882033] [ T111] ? __pfx_process_one_work+0x10/0x10
[ 488.883129] [ T111] ? assign_work+0x16c/0x240
[ 488.884118] [ T111] worker_thread+0x5ef/0xfd0
[ 488.885099] [ T111] ? __kthread_parkme+0xb4/0x200
[ 488.886073] [ T111] ? __pfx_worker_thread+0x10/0x10
[ 488.886960] [ T111] kthread+0x3b0/0x770
[ 488.887836] [ T111] ? __pfx_kthread+0x10/0x10
[ 488.888698] [ T111] ? ret_from_fork+0x17/0x70
[ 488.889579] [ T111] ? ret_from_fork+0x17/0x70
[ 488.890395] [ T111] ? _raw_spin_unlock_irq+0x24/0x50
[ 488.891199] [ T111] ? __pfx_kthread+0x10/0x10
[ 488.891979] [ T111] ret_from_fork+0x30/0x70
[ 488.892714] [ T111] ? __pfx_kthread+0x10/0x10
[ 488.893486] [ T111] ret_from_fork_asm+0x1a/0x30
[ 488.894207] [ T111] </TASK>
[ 488.894902] [ T111] irq event stamp: 3320
[ 488.895644] [ T111] hardirqs last enabled at (3319): [<ffffffff8ce969c4>] _raw_spin_unlock_irq+0x24/0x50
[ 488.896485] [ T111] hardirqs last disabled at (3320): [<ffffffff8ce77f6d>] __schedule+0x2fad/0x5fa0
[ 488.897480] [ T111] softirqs last enabled at (2838): [<ffffffff8a516d99>] __irq_exit_rcu+0x109/0x210
[ 488.899945] [ T111] softirqs last disabled at (2833): [<ffffffff8a516d99>] __irq_exit_rcu+0x109/0x210
[ 488.900981] [ T111] ---[ end trace 0000000000000000 ]---
[ 488.906709] [ T111] nvme nvme1: mapped 4/0/0 default/read/poll queues.
[ 488.926409] [ T1265] nvme nvme1: Removing ctrl: NQN "blktests-subsystem-1"
[ 489.195387] [ T67] nvmet: Created nvm controller 1 for subsystem blktests-subsystem-1 for NQN nqn.2014-08.org.nvmexpress:uuid:0f01fb42-9f7f-4856-b0b3-51e60b8de349 with DH-HMAC-CHAP.
[ 489.212205] [ T1247] nvme nvme1: qid 0: authenticated with hash hmac(sha384) dhgroup ffdhe3072
[ 489.214003] [ T1278] nvme nvme1: qid 0: authenticated
[ 489.216353] [ T1278] nvme nvme1: Please enable CONFIG_NVME_MULTIPATH for full support of multi-port devices.
[ 489.218537] [ T1278] nvme nvme1: failed to connect socket: -512
[ 489.226758] [ T111] nvmet_tcp: failed to allocate queue, error -107
[ 489.232297] [ T1262] nvmet: Created nvm controller 1 for subsystem blktests-subsystem-1 for NQN nqn.2014-08.org.nvmexpress:uuid:0f01fb42-9f7f-4856-b0b3-51e60b8de349 with DH-HMAC-CHAP.
[ 489.254966] [ T111] nvme nvme1: qid 0: authenticated with hash hmac(sha384) dhgroup ffdhe3072
[ 489.256783] [ T1278] nvme nvme1: qid 0: authenticated
[ 489.258606] [ T1278] nvme nvme1: Please enable CONFIG_NVME_MULTIPATH for full support of multi-port devices.
[ 489.309468] [ T224] nvmet: Created nvm controller 1 for subsystem blktests-subsystem-1 for NQN nqn.2014-08.org.nvmexpress:uuid:0f01fb42-9f7f-4856-b0b3-51e60b8de349, TLS.
[ 489.313302] [ T1278] nvme nvme1: Please enable CONFIG_NVME_MULTIPATH for full support of multi-port devices.
[ 489.315374] [ T1278] nvme nvme1: creating 4 I/O queues.
[ 489.337242] [ T1278] nvme nvme1: mapped 4/0/0 default/read/poll queues.
[ 489.341639] [ T1278] nvme nvme1: new ctrl: NQN "blktests-subsystem-1", addr 127.0.0.1:4420, hostnqn: nqn.2014-08.org.nvmexpress:uuid:0f01fb42-9f7f-4856-b0b3-51e60b8de349
[ 489.421601] [ T1317] nvme nvme1: Removing ctrl: NQN "blktests-subsystem-1"
[ 495.597732] [ T67] ==================================================================
[ 495.598765] [ T67] BUG: KASAN: slab-use-after-free in blk_mq_queue_tag_busy_iter+0x1287/0x13a0
[ 495.599885] [ T67] Read of size 4 at addr ffff888127a0c184 by task kworker/3:1H/67
[ 495.601693] [ T67] CPU: 3 UID: 0 PID: 67 Comm: kworker/3:1H Tainted: G W 6.15.0-rc6+ #27 PREEMPT(voluntary)
[ 495.601698] [ T67] Tainted: [W]=WARN
[ 495.601699] [ T67] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-3.fc41 04/01/2014
[ 495.601708] [ T67] Workqueue: kblockd blk_mq_timeout_work
[ 495.601715] [ T67] Call Trace:
[ 495.601718] [ T67] <TASK>
[ 495.601720] [ T67] dump_stack_lvl+0x6a/0x90
[ 495.601724] [ T67] print_report+0x174/0x554
[ 495.601733] [ T67] ? __virt_addr_valid+0x208/0x420
[ 495.601743] [ T67] ? blk_mq_queue_tag_busy_iter+0x1287/0x13a0
[ 495.601745] [ T67] kasan_report+0xae/0x170
[ 495.601751] [ T67] ? blk_mq_queue_tag_busy_iter+0x1287/0x13a0
[ 495.601754] [ T67] blk_mq_queue_tag_busy_iter+0x1287/0x13a0
[ 495.601757] [ T67] ? __pfx_blk_mq_check_expired+0x10/0x10
[ 495.601759] [ T67] ? update_load_avg+0x240/0x2170
[ 495.601767] [ T67] ? kvm_sched_clock_read+0xd/0x20
[ 495.601770] [ T67] ? sched_clock+0xc/0x30
[ 495.601775] [ T67] ? sched_clock_cpu+0x68/0x540
[ 495.601779] [ T67] ? __pfx_blk_mq_queue_tag_busy_iter+0x10/0x10
[ 495.601780] [ T67] ? __pfx_sched_clock_cpu+0x10/0x10
[ 495.601782] [ T67] ? psi_task_switch+0x2c1/0x8a0
[ 495.601784] [ T67] ? rcu_is_watching+0x11/0xb0
[ 495.601787] [ T67] ? lock_release+0x217/0x2c0
[ 495.601793] [ T67] ? rcu_is_watching+0x11/0xb0
[ 495.601795] [ T67] ? blk_mq_timeout_work+0x137/0x550
[ 495.601797] [ T67] ? rcu_is_watching+0x11/0xb0
[ 495.601799] [ T67] ? lock_release+0x217/0x2c0
[ 495.601802] [ T67] blk_mq_timeout_work+0x15f/0x550
[ 495.601804] [ T67] ? __pfx_blk_mq_timeout_work+0x10/0x10
[ 495.601807] [ T67] ? lock_acquire+0x2b2/0x310
[ 495.601809] [ T67] ? rcu_is_watching+0x11/0xb0
[ 495.601811] [ T67] ? _raw_spin_unlock_irq+0x24/0x50
[ 495.601814] [ T67] process_one_work+0x84f/0x1460
[ 495.601818] [ T67] ? __pfx_process_one_work+0x10/0x10
[ 495.601822] [ T67] ? assign_work+0x16c/0x240
[ 495.601825] [ T67] worker_thread+0x5ef/0xfd0
[ 495.601828] [ T67] ? __kthread_parkme+0xb4/0x200
[ 495.601831] [ T67] ? __pfx_worker_thread+0x10/0x10
[ 495.601833] [ T67] kthread+0x3b0/0x770
[ 495.601836] [ T67] ? __pfx_kthread+0x10/0x10
[ 495.601838] [ T67] ? ret_from_fork+0x17/0x70
[ 495.601839] [ T67] ? ret_from_fork+0x17/0x70
[ 495.601841] [ T67] ? _raw_spin_unlock_irq+0x24/0x50
[ 495.601843] [ T67] ? __pfx_kthread+0x10/0x10
[ 495.601845] [ T67] ret_from_fork+0x30/0x70
[ 495.601847] [ T67] ? __pfx_kthread+0x10/0x10
[ 495.601849] [ T67] ret_from_fork_asm+0x1a/0x30
[ 495.601853] [ T67] </TASK>
[ 495.637098] [ T67] Allocated by task 1278:
[ 495.637607] [ T67] kasan_save_stack+0x2c/0x50
[ 495.638142] [ T67] kasan_save_track+0x10/0x30
[ 495.638660] [ T67] __kasan_kmalloc+0xa6/0xb0
[ 495.639163] [ T67] 0xffffffffc17c6fce
[ 495.639630] [ T67] 0xffffffffc0ff389b
[ 495.640099] [ T67] vfs_write+0x218/0xe90
[ 495.640576] [ T67] ksys_write+0xf5/0x1c0
[ 495.641053] [ T67] do_syscall_64+0x93/0x190
[ 495.641551] [ T67] entry_SYSCALL_64_after_hwframe+0x76/0x7e
[ 495.642492] [ T67] Freed by task 1278:
[ 495.642956] [ T67] kasan_save_stack+0x2c/0x50
[ 495.643464] [ T67] kasan_save_track+0x10/0x30
[ 495.643973] [ T67] kasan_save_free_info+0x37/0x60
[ 495.644495] [ T67] __kasan_slab_free+0x4b/0x70
[ 495.645004] [ T67] kfree+0x13a/0x4b0
[ 495.645456] [ T67] nvme_free_ctrl+0x3bc/0x5c0 [nvme_core]
[ 495.646041] [ T67] device_release+0x9b/0x210
[ 495.646525] [ T67] kobject_put+0x17b/0x4a0
[ 495.646994] [ T67] 0xffffffffc17c77fd
[ 495.647457] [ T67] 0xffffffffc0ff389b
[ 495.647908] [ T67] vfs_write+0x218/0xe90
[ 495.648383] [ T67] ksys_write+0xf5/0x1c0
[ 495.648848] [ T67] do_syscall_64+0x93/0x190
[ 495.649341] [ T67] entry_SYSCALL_64_after_hwframe+0x76/0x7e
[ 495.650274] [ T67] The buggy address belongs to the object at ffff888127a0c000
which belongs to the cache kmalloc-8k of size 8192
[ 495.651564] [ T67] The buggy address is located 388 bytes inside of
freed 8192-byte region [ffff888127a0c000, ffff888127a0e000)
[ 495.653224] [ T67] The buggy address belongs to the physical page:
[ 495.653849] [ T67] page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x127a08
[ 495.654646] [ T67] head: order:3 mapcount:0 entire_mapcount:0 nr_pages_mapped:0 pincount:0
[ 495.655416] [ T67] flags: 0x17ffffc0000040(head|node=0|zone=2|lastcpupid=0x1fffff)
[ 495.656150] [ T67] page_type: f5(slab)
[ 495.656624] [ T67] raw: 0017ffffc0000040 ffff888100043180 ffffea0004b1d200 0000000000000006
[ 495.657407] [ T67] raw: 0000000000000000 0000000080020002 00000000f5000000 0000000000000000
[ 495.658193] [ T67] head: 0017ffffc0000040 ffff888100043180 ffffea0004b1d200 0000000000000006
[ 495.658994] [ T67] head: 0000000000000000 0000000080020002 00000000f5000000 0000000000000000
[ 495.659789] [ T67] head: 0017ffffc0000003 ffffea00049e8201 00000000ffffffff 00000000ffffffff
[ 495.660597] [ T67] head: ffffffffffffffff 0000000000000000 00000000ffffffff 0000000000000008
[ 495.661417] [ T67] page dumped because: kasan: bad access detected
[ 495.662501] [ T67] Memory state around the buggy address:
[ 495.663108] [ T67] ffff888127a0c080: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
[ 495.663871] [ T67] ffff888127a0c100: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
[ 495.664649] [ T67] >ffff888127a0c180: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
[ 495.665430] [ T67] ^
[ 495.665964] [ T67] ffff888127a0c200: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
[ 495.666747] [ T67] ffff888127a0c280: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
[ 495.667570] [ T67] ==================================================================
More information about the Linux-nvme
mailing list