syzbot
KASAN: slab-use-after-free Write in config_item_get
Status:
premoderation: reported syz repro on 2026/07/30 06:38
Reported-by: syzbot+2236b2c89fcf2a93eb5b@syzkaller.appspotmail.com
First crash: 5d05h, last: 5d04h
Sample crash report:
==================================================================
BUG: KASAN: slab-use-after-free in instrument_atomic_read_write include/linux/instrumented.h:96 [inline]
BUG: KASAN: slab-use-after-free in atomic_fetch_add_relaxed include/linux/atomic/atomic-instrumented.h:252 [inline]
BUG: KASAN: slab-use-after-free in __refcount_add include/linux/refcount.h:283 [inline]
BUG: KASAN: slab-use-after-free in __refcount_inc include/linux/refcount.h:366 [inline]
BUG: KASAN: slab-use-after-free in refcount_inc include/linux/refcount.h:383 [inline]
BUG: KASAN: slab-use-after-free in kref_get include/linux/kref.h:45 [inline]
BUG: KASAN: slab-use-after-free in config_item_get+0x2b/0xa0 fs/configfs/item.c:104
Write of size 4 at addr ffff8881255f801c by task syz.5.296/972
CPU: 1 UID: 0 PID: 972 Comm: syz.5.296 Not tainted syzkaller #0 0b31bef96cff8e44f9e14c4f768eb06c85e3b290
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026
Call Trace:
<TASK>
__dump_stack+0x21/0x30 lib/dump_stack.c:94
dump_stack_lvl+0x140/0x1c0 lib/dump_stack.c:120
print_address_description+0x71/0x210 mm/kasan/report.c:377
print_report+0x4a/0x70 mm/kasan/report.c:481
kasan_report+0x162/0x1a0 mm/kasan/report.c:594
check_region_inline mm/kasan/generic.c:-1 [inline]
kasan_check_range+0x25a/0x2b0 mm/kasan/generic.c:189
__kasan_check_write+0x18/0x20 mm/kasan/shadow.c:37
instrument_atomic_read_write include/linux/instrumented.h:96 [inline]
atomic_fetch_add_relaxed include/linux/atomic/atomic-instrumented.h:252 [inline]
__refcount_add include/linux/refcount.h:283 [inline]
__refcount_inc include/linux/refcount.h:366 [inline]
refcount_inc include/linux/refcount.h:383 [inline]
kref_get include/linux/kref.h:45 [inline]
config_item_get+0x2b/0xa0 fs/configfs/item.c:104
configfs_get_config_item fs/configfs/configfs_internal.h:128 [inline]
get_target fs/configfs/symlink.c:125 [inline]
configfs_symlink+0x455/0x1050 fs/configfs/symlink.c:191
vfs_symlink+0x3f7/0x620 fs/namei.c:4623
do_symlinkat+0x1ba/0x400 fs/namei.c:4649
__do_sys_symlinkat fs/namei.c:4665 [inline]
__se_sys_symlinkat fs/namei.c:4662 [inline]
__x64_sys_symlinkat+0x99/0xb0 fs/namei.c:4662
x64_sys_call+0x1f79/0x2ee0 arch/x86/include/generated/asm/syscalls_64.h:267
do_syscall_x64 arch/x86/entry/common.c:47 [inline]
do_syscall_64+0x57/0xf0 arch/x86/entry/common.c:78
entry_SYSCALL_64_after_hwframe+0x76/0x7e
RIP: 0033:0x7f17c839df99
Code: ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 e8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f17c928e028 EFLAGS: 00000246 ORIG_RAX: 000000000000010a
RAX: ffffffffffffffda RBX: 00007f17c8625fa0 RCX: 00007f17c839df99
RDX: 0000200000000340 RSI: ffffffffffffff9c RDI: 0000200000000300
RBP: 00007f17c8434ec4 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007f17c8626038 R14: 00007f17c8625fa0 R15: 00007fffeeaa9938
</TASK>
Allocated by task 971:
kasan_save_stack mm/kasan/common.c:49 [inline]
kasan_save_track+0x3e/0x80 mm/kasan/common.c:70
kasan_save_alloc_info+0x3a/0x50 mm/kasan/generic.c:565
poison_kmalloc_redzone mm/kasan/common.c:379 [inline]
__kasan_kmalloc+0x96/0xb0 mm/kasan/common.c:396
kasan_kmalloc include/linux/kasan.h:261 [inline]
__kmalloc_cache_noprof+0x23c/0x470 mm/slub.c:4426
kmalloc_noprof include/linux/slab.h:881 [inline]
kzalloc_noprof include/linux/slab.h:1017 [inline]
afunc_alloc_inst+0x5e/0x810 drivers/usb/gadget/function/f_uac2.c:2192
try_get_usb_function_instance drivers/usb/gadget/functions.c:28 [inline]
usb_get_function_instance+0xf7/0x320 drivers/usb/gadget/functions.c:44
function_make+0x125/0x370 drivers/usb/gadget/configfs.c:631
configfs_mkdir+0x523/0xb70 fs/configfs/dir.c:1339
vfs_mkdir+0x58e/0x810 fs/namei.c:4265
do_mkdirat+0x240/0x530 fs/namei.c:4288
__do_sys_mkdirat fs/namei.c:4303 [inline]
__se_sys_mkdirat fs/namei.c:4301 [inline]
__x64_sys_mkdirat+0x8b/0xa0 fs/namei.c:4301
x64_sys_call+0x2ba8/0x2ee0 arch/x86/include/generated/asm/syscalls_64.h:259
do_syscall_x64 arch/x86/entry/common.c:47 [inline]
do_syscall_64+0x57/0xf0 arch/x86/entry/common.c:78
entry_SYSCALL_64_after_hwframe+0x76/0x7e
Freed by task 971:
kasan_save_stack mm/kasan/common.c:49 [inline]
kasan_save_track+0x3e/0x80 mm/kasan/common.c:70
kasan_save_free_info+0x44/0x50 mm/kasan/generic.c:579
poison_slab_object mm/kasan/common.c:249 [inline]
__kasan_slab_free+0x5f/0x80 mm/kasan/common.c:266
kasan_slab_free include/linux/kasan.h:234 [inline]
slab_free_hook mm/slub.c:2445 [inline]
slab_free mm/slub.c:4714 [inline]
kfree+0x158/0x440 mm/slub.c:4875
afunc_free_inst+0x19/0x30 drivers/usb/gadget/function/f_uac2.c:2185
usb_put_function_instance+0xa2/0xc0 drivers/usb/gadget/functions.c:77
f_uac2_attr_release+0x19/0x30 drivers/usb/gadget/function/f_uac2.c:1874
config_item_cleanup fs/configfs/item.c:128 [inline]
config_item_release fs/configfs/item.c:137 [inline]
kref_put include/linux/kref.h:65 [inline]
config_item_put+0x178/0x240 fs/configfs/item.c:149
configfs_rmdir+0x8e8/0x9b0 fs/configfs/dir.c:1550
vfs_rmdir+0x3de/0x560 fs/namei.c:4348
do_rmdir+0x29a/0x590 fs/namei.c:4407
__do_sys_unlinkat fs/namei.c:4583 [inline]
__se_sys_unlinkat fs/namei.c:4577 [inline]
__x64_sys_unlinkat+0xc9/0xf0 fs/namei.c:4577
x64_sys_call+0x2974/0x2ee0 arch/x86/include/generated/asm/syscalls_64.h:264
do_syscall_x64 arch/x86/entry/common.c:47 [inline]
do_syscall_64+0x57/0xf0 arch/x86/entry/common.c:78
entry_SYSCALL_64_after_hwframe+0x76/0x7e
The buggy address belongs to the object at ffff8881255f8000
which belongs to the cache kmalloc-2k of size 2048
The buggy address is located 28 bytes inside of
freed 2048-byte region [ffff8881255f8000, ffff8881255f8800)
The buggy address belongs to the physical page:
page: refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x1255f8
head: order:3 mapcount:0 entire_mapcount:0 nr_pages_mapped:0 pincount:0
anon flags: 0x4000000000000040(head|zone=1)
page_type: f5(slab)
raw: 4000000000000040 ffff888100042000 0000000000000000 0000000000000001
raw: 0000000000000000 0000000080080008 00000001f5000000 0000000000000000
head: 4000000000000040 ffff888100042000 0000000000000000 0000000000000001
head: 0000000000000000 0000000080080008 00000001f5000000 0000000000000000
head: 4000000000000003 ffffea0004957e01 ffffffffffffffff 0000000000000000
head: 0000000000000008 0000000000000000 00000000ffffffff 0000000000000000
page dumped because: kasan: bad access detected
page_owner tracks the page as allocated
page last allocated via order 3, migratetype Unmovable, gfp_mask 0x1d20c0(__GFP_IO|__GFP_FS|__GFP_NOWARN|__GFP_NORETRY|__GFP_COMP|__GFP_NOMEMALLOC|__GFP_HARDWALL), pid 390, tgid 390 (syz-executor), ts 52983449755, free_ts 52971810604
set_page_owner include/linux/page_owner.h:35 [inline]
post_alloc_hook+0x37d/0x3b0 mm/page_alloc.c:1863
prep_new_page+0x2d/0x180 mm/page_alloc.c:1871
get_page_from_freelist+0x4aea/0x4ba0 mm/page_alloc.c:3948
__alloc_pages_noprof+0x35a/0x7e0 mm/page_alloc.c:5315
alloc_slab_page+0x6b/0x1e0 mm/slub.c:-1
allocate_slab+0x69/0x430 mm/slub.c:2687
new_slab mm/slub.c:2741 [inline]
___slab_alloc+0x591/0x8c0 mm/slub.c:3934
__slab_alloc mm/slub.c:4025 [inline]
__slab_alloc_node mm/slub.c:4078 [inline]
slab_alloc_node mm/slub.c:4239 [inline]
__do_kmalloc_node mm/slub.c:4394 [inline]
__kmalloc_node_noprof+0x2e7/0x500 mm/slub.c:4401
__kvmalloc_node_noprof+0x128/0x300 mm/util.c:672
kvmalloc_array_node_noprof include/linux/slab.h:1043 [inline]
alloc_fdtable+0x11b/0x4f0 fs/file.c:152
dup_fd+0x6af/0x9c0 fs/file.c:353
copy_files+0xb7/0x130 kernel/fork.c:1823
copy_process+0x11f4/0x3350 kernel/fork.c:2417
kernel_clone+0x233/0x810 kernel/fork.c:2851
__do_sys_clone kernel/fork.c:2996 [inline]
__se_sys_clone kernel/fork.c:2980 [inline]
__x64_sys_clone+0x1b7/0x230 kernel/fork.c:2980
x64_sys_call+0x2b3c/0x2ee0 arch/x86/include/generated/asm/syscalls_64.h:57
page last free pid 388 tgid 388 stack trace:
reset_page_owner include/linux/page_owner.h:28 [inline]
free_pages_prepare mm/page_alloc.c:1390 [inline]
free_unref_page+0xbb8/0xf70 mm/page_alloc.c:2876
__free_pages+0x6b/0x3b0 mm/page_alloc.c:5402
__free_slab+0xb2/0x110 mm/slub.c:2758
free_slab+0x18/0xe0 mm/slub.c:2781
discard_slab mm/slub.c:2787 [inline]
__put_partials+0x115/0x150 mm/slub.c:3256
put_cpu_partial+0x91/0xc0 mm/slub.c:3331
__slab_free+0x1cf/0x2a0 mm/slub.c:4584
do_slab_free mm/slub.c:4666 [inline]
___cache_free+0xc9/0xe0 mm/slub.c:4781
qlink_free mm/kasan/quarantine.c:163 [inline]
qlist_free_all+0xb5/0x130 mm/kasan/quarantine.c:179
kasan_quarantine_reduce+0x14f/0x180 mm/kasan/quarantine.c:286
__kasan_slab_alloc+0x28/0x90 mm/kasan/common.c:331
kasan_slab_alloc include/linux/kasan.h:251 [inline]
slab_post_alloc_hook mm/slub.c:4202 [inline]
slab_alloc_node mm/slub.c:4251 [inline]
kmem_cache_alloc_noprof+0x1bf/0x410 mm/slub.c:4260
anon_vma_alloc mm/rmap.c:100 [inline]
anon_vma_fork+0xf4/0x610 mm/rmap.c:366
dup_mmap kernel/fork.c:705 [inline]
dup_mm kernel/fork.c:1717 [inline]
copy_mm+0xc14/0x1da0 kernel/fork.c:1769
copy_process+0x12a4/0x3350 kernel/fork.c:2429
kernel_clone+0x233/0x810 kernel/fork.c:2851
Memory state around the buggy address:
ffff8881255f7f00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
ffff8881255f7f80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
>ffff8881255f8000: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
^
ffff8881255f8080: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
ffff8881255f8100: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
==================================================================
------------[ cut here ]------------
refcount_t: addition on 0; use-after-free.
WARNING: CPU: 1 PID: 972 at lib/refcount.c:25 refcount_warn_saturate+0xfd/0x1c0 lib/refcount.c:25
Modules linked in:
CPU: 1 UID: 0 PID: 972 Comm: syz.5.296 Tainted: G B syzkaller #0 0b31bef96cff8e44f9e14c4f768eb06c85e3b290
Tainted: [B]=BAD_PAGE
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026
RIP: 0010:refcount_warn_saturate+0xfd/0x1c0 lib/refcount.c:25
Code: 00 00 00 e8 c5 a1 d8 fe 5b 41 5e 5d c3 cc cc cc cc cc e8 b6 a1 d8 fe c6 05 b3 74 36 05 01 48 c7 c7 80 ee 51 86 e8 d3 79 55 fe <0f> 0b eb da e8 9a a1 d8 fe c6 05 98 74 36 05 01 48 c7 c7 e0 ee 51
RSP: 0018:ffffc90003657c38 EFLAGS: 00010246
RAX: 01209cace0200200 RBX: 0000000000000002 RCX: ffff88812106cc00
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000002
RBP: ffffc90003657c48 R08: 0000000000000003 R09: 0000000000000004
R10: dffffc0000000000 R11: fffffbfff0e9f34c R12: ffff88810b34b030
R13: dffffc0000000000 R14: ffff8881255f801c R15: 0000000000000000
FS: 00007f17c928e6c0(0000) GS:ffff8881f6f00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fec53fedc38 CR3: 00000001142e0000 CR4: 00000000003526b0
Call Trace:
<TASK>
__refcount_add include/linux/refcount.h:-1 [inline]
__refcount_inc include/linux/refcount.h:366 [inline]
refcount_inc include/linux/refcount.h:383 [inline]
kref_get include/linux/kref.h:45 [inline]
config_item_get+0x95/0xa0 fs/configfs/item.c:104
configfs_get_config_item fs/configfs/configfs_internal.h:128 [inline]
get_target fs/configfs/symlink.c:125 [inline]
configfs_symlink+0x455/0x1050 fs/configfs/symlink.c:191
vfs_symlink+0x3f7/0x620 fs/namei.c:4623
do_symlinkat+0x1ba/0x400 fs/namei.c:4649
__do_sys_symlinkat fs/namei.c:4665 [inline]
__se_sys_symlinkat fs/namei.c:4662 [inline]
__x64_sys_symlinkat+0x99/0xb0 fs/namei.c:4662
x64_sys_call+0x1f79/0x2ee0 arch/x86/include/generated/asm/syscalls_64.h:267
do_syscall_x64 arch/x86/entry/common.c:47 [inline]
do_syscall_64+0x57/0xf0 arch/x86/entry/common.c:78
entry_SYSCALL_64_after_hwframe+0x76/0x7e
RIP: 0033:0x7f17c839df99
Code: ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 e8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f17c928e028 EFLAGS: 00000246 ORIG_RAX: 000000000000010a
RAX: ffffffffffffffda RBX: 00007f17c8625fa0 RCX: 00007f17c839df99
RDX: 0000200000000340 RSI: ffffffffffffff9c RDI: 0000200000000300
RBP: 00007f17c8434ec4 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007f17c8626038 R14: 00007f17c8625fa0 R15: 00007fffeeaa9938
</TASK>
---[ end trace 0000000000000000 ]---
------------[ cut here ]------------
refcount_t: underflow; use-after-free.
WARNING: CPU: 1 PID: 972 at lib/refcount.c:28 refcount_warn_saturate+0x119/0x1c0 lib/refcount.c:28
Modules linked in:
CPU: 1 UID: 0 PID: 972 Comm: syz.5.296 Tainted: G B W syzkaller #0 0b31bef96cff8e44f9e14c4f768eb06c85e3b290
Tainted: [B]=BAD_PAGE, [W]=WARN
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026
RIP: 0010:refcount_warn_saturate+0x119/0x1c0 lib/refcount.c:28
Code: 05 01 48 c7 c7 80 ee 51 86 e8 d3 79 55 fe 0f 0b eb da e8 9a a1 d8 fe c6 05 98 74 36 05 01 48 c7 c7 e0 ee 51 86 e8 b7 79 55 fe <0f> 0b eb be e8 7e a1 d8 fe c6 05 79 74 36 05 01 48 c7 c7 20 ee 51
RSP: 0018:ffffc90003657c18 EFLAGS: 00010246
RAX: 01209cace0200200 RBX: 0000000000000003 RCX: ffff88812106cc00
RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000002
RBP: ffffc90003657c28 R08: 0000000000000003 R09: 0000000000000004
R10: dffffc0000000000 R11: fffffbfff0e9f34c R12: 00000000ffffffea
R13: dffffc0000000000 R14: ffff8881255f801c R15: 00000000c0000000
FS: 00007f17c928e6c0(0000) GS:ffff8881f6f00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fec53fedc38 CR3: 00000001142e0000 CR4: 00000000003526b0
Call Trace:
<TASK>
__refcount_sub_and_test include/linux/refcount.h:400 [inline]
__refcount_dec_and_test include/linux/refcount.h:432 [inline]
refcount_dec_and_test include/linux/refcount.h:450 [inline]
kref_put include/linux/kref.h:64 [inline]
config_item_put+0x230/0x240 fs/configfs/item.c:149
configfs_symlink+0x4b5/0x1050 fs/configfs/symlink.c:212
vfs_symlink+0x3f7/0x620 fs/namei.c:4623
do_symlinkat+0x1ba/0x400 fs/namei.c:4649
__do_sys_symlinkat fs/namei.c:4665 [inline]
__se_sys_symlinkat fs/namei.c:4662 [inline]
__x64_sys_symlinkat+0x99/0xb0 fs/namei.c:4662
x64_sys_call+0x1f79/0x2ee0 arch/x86/include/generated/asm/syscalls_64.h:267
do_syscall_x64 arch/x86/entry/common.c:47 [inline]
do_syscall_64+0x57/0xf0 arch/x86/entry/common.c:78
entry_SYSCALL_64_after_hwframe+0x76/0x7e
RIP: 0033:0x7f17c839df99
Code: ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 e8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f17c928e028 EFLAGS: 00000246 ORIG_RAX: 000000000000010a
RAX: ffffffffffffffda RBX: 00007f17c8625fa0 RCX: 00007f17c839df99
RDX: 0000200000000340 RSI: ffffffffffffff9c RDI: 0000200000000300
RBP: 00007f17c8434ec4 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007f17c8626038 R14: 00007f17c8625fa0 R15: 00007fffeeaa9938
</TASK>
---[ end trace 0000000000000000 ]---
* Struck through repros no longer work on HEAD.