[v6.1] KASAN: invalid-free in nvmet_fc_alloc_ls_iodlist

1 view
Skip to first unread message

syzbot

unread,
Aug 8, 2026, 2:50:30 PM (2 days ago) Aug 8
to syzkaller...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: e4f7d8be268e Linux 6.1.182
git tree: linux-6.1.y
console output: https://syzkaller.appspot.com/x/log.txt?x=12160149580000
kernel config: https://syzkaller.appspot.com/x/.config?x=872c04466179833f
dashboard link: https://syzkaller.appspot.com/bug?extid=d4d7b877f94b3e0458de
compiler: Debian clang version 22.1.8 (++20260613092233+e80beda6e255-1~exp1~20260613092250.77), Debian LLD 22.1.8
userspace arch: arm64

Unfortunately, I don't have any reproducer for this issue yet.

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/7cd9b1875376/disk-e4f7d8be.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/4b5d35d18c31/vmlinux-e4f7d8be.xz
kernel image: https://storage.googleapis.com/syzbot-assets/d5ee64c2af77/Image-e4f7d8be.gz.xz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+d4d7b8...@syzkaller.appspotmail.com

BUG: MAX_LOCKDEP_CHAINS too low!
turning off the locking correctness validator.
CPU: 0 PID: 11311 Comm: syz.6.1335 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/02/2026
Call trace:
dump_backtrace+0x1c4/0x1f0 arch/arm64/kernel/stacktrace.c:158
show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:165
__dump_stack+0x30/0x40 lib/dump_stack.c:88
dump_stack_lvl+0xf4/0x15c lib/dump_stack.c:106
dump_stack+0x1c/0x5c lib/dump_stack.c:113
add_chain_cache kernel/locking/lockdep.c:-1 [inline]
lookup_chain_cache_add kernel/locking/lockdep.c:3777 [inline]
validate_chain kernel/locking/lockdep.c:3798 [inline]
__lock_acquire+0x1864/0x6634 kernel/locking/lockdep.c:5063
lock_acquire+0x20c/0x638 kernel/locking/lockdep.c:5676
__raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline]
_raw_spin_lock_irqsave+0x6c/0xb0 kernel/locking/spinlock.c:162
ida_alloc_range+0x154/0x6c0 lib/idr.c:397
ida_alloc include/linux/idr.h:275 [inline]
nvmet_fc_register_targetport+0x1b4/0x818 drivers/nvme/target/fc.c:1381
fcloop_create_target_port+0x120/0x420 drivers/nvme/target/fcloop.c:1427
dev_attr_store+0x6c/0x90 drivers/base/core.c:2388
sysfs_kf_write+0x1f8/0x274 fs/sysfs/file.c:140
kernfs_fop_write_iter+0x390/0x4b4 fs/kernfs/file.c:352
call_write_iter include/linux/fs.h:2265 [inline]
new_sync_write fs/read_write.c:491 [inline]
vfs_write+0x3c8/0x7c8 fs/read_write.c:584
ksys_write+0x12c/0x228 fs/read_write.c:637
__do_sys_write fs/read_write.c:649 [inline]
__se_sys_write fs/read_write.c:646 [inline]
__arm64_sys_write+0x7c/0x90 fs/read_write.c:646
__invoke_syscall arch/arm64/kernel/syscall.c:38 [inline]
invoke_syscall+0x98/0x290 arch/arm64/kernel/syscall.c:52
el0_svc_common+0x13c/0x258 arch/arm64/kernel/syscall.c:140
do_el0_svc+0x5c/0x134 arch/arm64/kernel/syscall.c:204
el0_svc+0x58/0x128 arch/arm64/kernel/entry-common.c:637
el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:655
el0t_64_sync+0x18c/0x190 arch/arm64/kernel/entry.S:585
FAULT_INJECTION: forcing a failure.
name failslab, interval 1, probability 0, space 0, times 0
CPU: 0 PID: 11311 Comm: syz.6.1335 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/02/2026
Call trace:
dump_backtrace+0x1c4/0x1f0 arch/arm64/kernel/stacktrace.c:158
show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:165
__dump_stack+0x30/0x40 lib/dump_stack.c:88
dump_stack_lvl+0xf4/0x15c lib/dump_stack.c:106
dump_stack+0x1c/0x5c lib/dump_stack.c:113
fail_dump lib/fault-inject.c:52 [inline]
should_fail_ex+0x3cc/0x524 lib/fault-inject.c:147
__should_failslab+0xc0/0x11c mm/failslab.c:44
should_failslab+0x10/0x28 mm/slab_common.c:1440
slab_pre_alloc_hook mm/slab.h:712 [inline]
slab_alloc_node mm/slub.c:3279 [inline]
__kmem_cache_alloc_node+0x7c/0x318 mm/slub.c:3398
kmalloc_trace+0x48/0x94 mm/slab_common.c:1026
kmalloc include/linux/slab.h:563 [inline]
kzalloc include/linux/slab.h:699 [inline]
nvmet_fc_alloc_ls_iodlist+0x290/0x7ec drivers/nvme/target/fc.c:547
nvmet_fc_register_targetport+0x5d0/0x818 drivers/nvme/target/fc.c:1413
fcloop_create_target_port+0x120/0x420 drivers/nvme/target/fcloop.c:1427
dev_attr_store+0x6c/0x90 drivers/base/core.c:2388
sysfs_kf_write+0x1f8/0x274 fs/sysfs/file.c:140
kernfs_fop_write_iter+0x390/0x4b4 fs/kernfs/file.c:352
call_write_iter include/linux/fs.h:2265 [inline]
new_sync_write fs/read_write.c:491 [inline]
vfs_write+0x3c8/0x7c8 fs/read_write.c:584
ksys_write+0x12c/0x228 fs/read_write.c:637
__do_sys_write fs/read_write.c:649 [inline]
__se_sys_write fs/read_write.c:646 [inline]
__arm64_sys_write+0x7c/0x90 fs/read_write.c:646
__invoke_syscall arch/arm64/kernel/syscall.c:38 [inline]
invoke_syscall+0x98/0x290 arch/arm64/kernel/syscall.c:52
el0_svc_common+0x13c/0x258 arch/arm64/kernel/syscall.c:140
do_el0_svc+0x5c/0x134 arch/arm64/kernel/syscall.c:204
el0_svc+0x58/0x128 arch/arm64/kernel/entry-common.c:637
el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:655
el0t_64_sync+0x18c/0x190 arch/arm64/kernel/entry.S:585
==================================================================
BUG: KASAN: invalid-free in slab_free mm/slub.c:3687 [inline]
BUG: KASAN: invalid-free in __kmem_cache_free+0xbc/0x21c mm/slub.c:3700
Free of addr ffff0000edc4ff20 by task syz.6.1335/11311

CPU: 0 PID: 11311 Comm: syz.6.1335 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/02/2026
Call trace:
dump_backtrace+0x1c4/0x1f0 arch/arm64/kernel/stacktrace.c:158
show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:165
__dump_stack+0x30/0x40 lib/dump_stack.c:88
dump_stack_lvl+0xf4/0x15c lib/dump_stack.c:106
print_address_description+0x88/0x218 mm/kasan/report.c:316
print_report+0x50/0x68 mm/kasan/report.c:420
kasan_report_invalid_free+0x98/0xe4 mm/kasan/report.c:489
____kasan_slab_free+0x168/0x1b0 mm/kasan/common.c:-1
__kasan_slab_free+0x18/0x28 mm/kasan/common.c:245
kasan_slab_free include/linux/kasan.h:177 [inline]
slab_free_hook mm/slub.c:1729 [inline]
slab_free_freelist_hook+0x16c/0x1e8 mm/slub.c:1755
slab_free mm/slub.c:3687 [inline]
__kmem_cache_free+0xbc/0x21c mm/slub.c:3700
kfree+0xd0/0x1a8 mm/slab_common.c:988
nvmet_fc_alloc_ls_iodlist+0x7c4/0x7ec drivers/nvme/target/fc.c:574
nvmet_fc_register_targetport+0x5d0/0x818 drivers/nvme/target/fc.c:1413
fcloop_create_target_port+0x120/0x420 drivers/nvme/target/fcloop.c:1427
dev_attr_store+0x6c/0x90 drivers/base/core.c:2388
sysfs_kf_write+0x1f8/0x274 fs/sysfs/file.c:140
kernfs_fop_write_iter+0x390/0x4b4 fs/kernfs/file.c:352
call_write_iter include/linux/fs.h:2265 [inline]
new_sync_write fs/read_write.c:491 [inline]
vfs_write+0x3c8/0x7c8 fs/read_write.c:584
ksys_write+0x12c/0x228 fs/read_write.c:637
__do_sys_write fs/read_write.c:649 [inline]
__se_sys_write fs/read_write.c:646 [inline]
__arm64_sys_write+0x7c/0x90 fs/read_write.c:646
__invoke_syscall arch/arm64/kernel/syscall.c:38 [inline]
invoke_syscall+0x98/0x290 arch/arm64/kernel/syscall.c:52
el0_svc_common+0x13c/0x258 arch/arm64/kernel/syscall.c:140
do_el0_svc+0x5c/0x134 arch/arm64/kernel/syscall.c:204
el0_svc+0x58/0x128 arch/arm64/kernel/entry-common.c:637
el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:655
el0t_64_sync+0x18c/0x190 arch/arm64/kernel/entry.S:585

Allocated by task 11145:
kasan_save_stack mm/kasan/common.c:46 [inline]
kasan_set_track+0x4c/0x80 mm/kasan/common.c:53
kasan_save_alloc_info+0x24/0x30 mm/kasan/generic.c:505
____kasan_kmalloc mm/kasan/common.c:375 [inline]
__kasan_kmalloc+0xa0/0xb8 mm/kasan/common.c:384
kasan_kmalloc include/linux/kasan.h:211 [inline]
__do_kmalloc_node mm/slab_common.c:936 [inline]
__kmalloc_node+0xdc/0x184 mm/slab_common.c:943
kmalloc_node include/linux/slab.h:589 [inline]
kvmalloc_node+0x88/0x1d4 mm/util.c:581
kvmalloc include/linux/slab.h:716 [inline]
seq_buf_alloc fs/seq_file.c:38 [inline]
seq_read_iter+0x1d8/0xc24 fs/seq_file.c:210
kernfs_fop_read_iter+0x13c/0x5d8 fs/kernfs/file.c:297
call_read_iter include/linux/fs.h:2259 [inline]
new_sync_read fs/read_write.c:389 [inline]
vfs_read+0x3cc/0x7b8 fs/read_write.c:470
ksys_read+0x12c/0x228 fs/read_write.c:613
__do_sys_read fs/read_write.c:623 [inline]
__se_sys_read fs/read_write.c:621 [inline]
__arm64_sys_read+0x7c/0x90 fs/read_write.c:621
__invoke_syscall arch/arm64/kernel/syscall.c:38 [inline]
invoke_syscall+0x98/0x290 arch/arm64/kernel/syscall.c:52
el0_svc_common+0x13c/0x258 arch/arm64/kernel/syscall.c:140
do_el0_svc+0x5c/0x134 arch/arm64/kernel/syscall.c:204
el0_svc+0x58/0x128 arch/arm64/kernel/entry-common.c:637
el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:655
el0t_64_sync+0x18c/0x190 arch/arm64/kernel/entry.S:585

Freed by task 11145:
kasan_save_stack mm/kasan/common.c:46 [inline]
kasan_set_track+0x4c/0x80 mm/kasan/common.c:53
kasan_save_free_info+0x38/0x5c mm/kasan/generic.c:516
____kasan_slab_free+0x148/0x1b0 mm/kasan/common.c:237
__kasan_slab_free+0x18/0x28 mm/kasan/common.c:245
kasan_slab_free include/linux/kasan.h:177 [inline]
slab_free_hook mm/slub.c:1729 [inline]
slab_free_freelist_hook+0x16c/0x1e8 mm/slub.c:1755
slab_free mm/slub.c:3687 [inline]
__kmem_cache_free+0xbc/0x21c mm/slub.c:3700
kfree+0xd0/0x1a8 mm/slab_common.c:988
kvfree+0x40/0x50 mm/util.c:627
seq_release+0x58/0x7c fs/seq_file.c:355
kernfs_fop_release+0x134/0x194 fs/kernfs/file.c:826
__fput+0x1b4/0x7b0 fs/file_table.c:320
____fput+0x20/0x30 fs/file_table.c:348
task_work_run+0x1f4/0x280 kernel/task_work.c:203
resume_user_mode_work include/linux/resume_user_mode.h:49 [inline]
do_notify_resume+0x20f8/0x2c84 arch/arm64/kernel/signal.c:1151
prepare_exit_to_user_mode arch/arm64/kernel/entry-common.c:137 [inline]
exit_to_user_mode arch/arm64/kernel/entry-common.c:142 [inline]
el0_svc+0x98/0x128 arch/arm64/kernel/entry-common.c:638
el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:655
el0t_64_sync+0x18c/0x190 arch/arm64/kernel/entry.S:585

The buggy address belongs to the object at ffff0000edc4e000
which belongs to the cache kmalloc-cg-4k of size 4096
The buggy address is located 3872 bytes to the right of
4096-byte region [ffff0000edc4e000, ffff0000edc4f000)

The buggy address belongs to the physical page:
page:00000000e57c0f0d refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x12dc48
head:00000000e57c0f0d order:3 compound_mapcount:0 compound_pincount:0
memcg:ffff0000daf98601
flags: 0x5ffc00000010200(slab|head|node=0|zone=2|lastcpupid=0x7ff)
raw: 05ffc00000010200 dead000000000100 dead000000000122 ffff0000c0003500
raw: 0000000000000000 0000000000040004 00000001ffffffff ffff0000daf98601
page dumped because: kasan: bad access detected

Memory state around the buggy address:
ffff0000edc4fe00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
ffff0000edc4fe80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
>ffff0000edc4ff00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
^
ffff0000edc4ff80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
ffff0000edc50000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
==================================================================


---
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 syzk...@googlegroups.com.

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

syzbot

unread,
Aug 8, 2026, 3:16:33 PM (2 days ago) Aug 8
to syzkaller...@googlegroups.com
syzbot has found a reproducer for the following issue on:

HEAD commit: e4f7d8be268e Linux 6.1.182
git tree: linux-6.1.y
console output: https://syzkaller.appspot.com/x/log.txt?x=168f6fb9580000
kernel config: https://syzkaller.appspot.com/x/.config?x=872c04466179833f
dashboard link: https://syzkaller.appspot.com/bug?extid=d4d7b877f94b3e0458de
compiler: Debian clang version 22.1.8 (++20260613092233+e80beda6e255-1~exp1~20260613092250.77), Debian LLD 22.1.8
userspace arch: arm64
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=16851fb9580000
do_el0_svc+0x5c/0x134 arch/arm64/kernel/syscall.c:204
el0_svc+0x58/0x128 arch/arm64/kernel/entry-common.c:637
el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:655
el0t_64_sync+0x18c/0x190 arch/arm64/kernel/entry.S:585
==================================================================
BUG: KASAN: invalid-free in slab_free mm/slub.c:3687 [inline]
BUG: KASAN: invalid-free in __kmem_cache_free+0xbc/0x21c mm/slub.c:3700
Free of addr ffff0000d9f3ff20 by task syz.0.17/4526

CPU: 0 PID: 4526 Comm: syz.0.17 Not tainted syzkaller #0
Allocated by task 3995:
kasan_save_stack mm/kasan/common.c:46 [inline]
kasan_set_track+0x4c/0x80 mm/kasan/common.c:53
kasan_save_alloc_info+0x24/0x30 mm/kasan/generic.c:505
__kasan_slab_alloc+0x70/0x88 mm/kasan/common.c:329
kasan_slab_alloc include/linux/kasan.h:201 [inline]
slab_post_alloc_hook+0x74/0x430 mm/slab.h:737
kmem_cache_alloc_bulk+0x420/0x4e8 mm/slub.c:3880
mt_alloc_bulk lib/maple_tree.c:159 [inline]
mas_alloc_nodes+0x3b4/0x758 lib/maple_tree.c:1301
mas_node_count_gfp lib/maple_tree.c:1361 [inline]
mas_expected_entries+0x1bc/0x2f0 lib/maple_tree.c:5921
dup_mmap kernel/fork.c:619 [inline]
dup_mm kernel/fork.c:1548 [inline]
copy_mm+0x5a0/0x1208 kernel/fork.c:1597
copy_process+0x1718/0x38f4 kernel/fork.c:2358
kernel_clone+0x1ec/0x938 kernel/fork.c:2765
__do_sys_clone kernel/fork.c:2906 [inline]
__se_sys_clone kernel/fork.c:2874 [inline]
__arm64_sys_clone+0x15c/0x1c8 kernel/fork.c:2874
__invoke_syscall arch/arm64/kernel/syscall.c:38 [inline]
invoke_syscall+0x98/0x290 arch/arm64/kernel/syscall.c:52
el0_svc_common+0x13c/0x258 arch/arm64/kernel/syscall.c:140
do_el0_svc+0x5c/0x134 arch/arm64/kernel/syscall.c:204
el0_svc+0x58/0x128 arch/arm64/kernel/entry-common.c:637
el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:655
el0t_64_sync+0x18c/0x190 arch/arm64/kernel/entry.S:585

Freed by task 3995:
kasan_save_stack mm/kasan/common.c:46 [inline]
kasan_set_track+0x4c/0x80 mm/kasan/common.c:53
kasan_save_free_info+0x38/0x5c mm/kasan/generic.c:516
____kasan_slab_free+0x148/0x1b0 mm/kasan/common.c:237
__kasan_slab_free+0x18/0x28 mm/kasan/common.c:245
kasan_slab_free include/linux/kasan.h:177 [inline]
slab_free_hook mm/slub.c:1729 [inline]
slab_free_freelist_hook+0x16c/0x1e8 mm/slub.c:1755
slab_free mm/slub.c:3687 [inline]
kmem_cache_free_bulk+0x340/0x3d4 mm/slub.c:3805
mt_free_bulk lib/maple_tree.c:164 [inline]
mas_destroy+0x1c30/0x232c lib/maple_tree.c:5864
dup_mmap kernel/fork.c:714 [inline]
dup_mm kernel/fork.c:1548 [inline]
copy_mm+0xc10/0x1208 kernel/fork.c:1597
copy_process+0x1718/0x38f4 kernel/fork.c:2358
kernel_clone+0x1ec/0x938 kernel/fork.c:2765
__do_sys_clone kernel/fork.c:2906 [inline]
__se_sys_clone kernel/fork.c:2874 [inline]
__arm64_sys_clone+0x15c/0x1c8 kernel/fork.c:2874
__invoke_syscall arch/arm64/kernel/syscall.c:38 [inline]
invoke_syscall+0x98/0x290 arch/arm64/kernel/syscall.c:52
el0_svc_common+0x13c/0x258 arch/arm64/kernel/syscall.c:140
do_el0_svc+0x5c/0x134 arch/arm64/kernel/syscall.c:204
el0_svc+0x58/0x128 arch/arm64/kernel/entry-common.c:637
el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:655
el0t_64_sync+0x18c/0x190 arch/arm64/kernel/entry.S:585

The buggy address belongs to the object at ffff0000d9f3fe00
which belongs to the cache maple_node of size 256
The buggy address is located 32 bytes to the right of
256-byte region [ffff0000d9f3fe00, ffff0000d9f3ff00)

The buggy address belongs to the physical page:
page:000000009fca4206 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x119f3e
head:000000009fca4206 order:1 compound_mapcount:0 compound_pincount:0
flags: 0x5ffc00000010200(slab|head|node=0|zone=2|lastcpupid=0x7ff)
raw: 05ffc00000010200 fffffc000367cf00 dead000000000003 ffff0000c000d680
raw: 0000000000000000 0000000000100010 00000001ffffffff 0000000000000000
page dumped because: kasan: bad access detected

Memory state around the buggy address:
ffff0000d9f3fe00: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
ffff0000d9f3fe80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
>ffff0000d9f3ff00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
^
ffff0000d9f3ff80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
ffff0000d9f40000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
==================================================================


---
If you want syzbot to run the reproducer, reply with:
#syz test: git://repo/address.git branch-or-commit-hash
If you attach or paste a git patch, syzbot will apply it before testing.
Reply all
Reply to author
Forward
0 new messages