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
Similar bugs (4)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KASAN: slab-use-after-free Write in config_item_get fs prio:normal 22 syz, C error 8 1d21h 5d11h 0/29 upstream: reported C repro on 2026/07/30 00:19
linux-5.15 KASAN: use-after-free Write in config_item_get origin:upstream 22 syz, C 1 9d17h 9d16h 0/3 upstream: reported C repro on 2026/07/25 19:17
android-5-15 KASAN: use-after-free Write in config_item_get 22 syz, C 5 5d07h 7d01h 0/2 upstream: reported C repro on 2026/07/28 10:17
android-5-10 KASAN: use-after-free Write in config_item_get 22 syz, C 4 6d15h 8d16h 0/2 upstream: reported C repro on 2026/07/26 20:05

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 ]---

Crashes (2):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/07/30 08:03 android16-6.12 f1c9c21d1c2f 2377cd3d .config strace log report syz / log [disk image] [vmlinux] [kernel image] ci2-android-6-12-rust KASAN: slab-use-after-free Write in config_item_get
2026/07/30 06:38 android16-6.12 f1c9c21d1c2f 6ef5c1e2 .config console log report syz / log [disk image] [vmlinux] [kernel image] ci2-android-6-12-rust KASAN: slab-use-after-free Write in config_item_get
* Struck through repros no longer work on HEAD.