syzbot


KASAN: use-after-free Read in fast_dput

Status: premoderation: reported on 2025/10/25 11:04
Reported-by: syzbot+c29ead6c06e56f810a08@syzkaller.appspotmail.com
First crash: 79d, last: 14d
Similar bugs (5)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
android-5-15 KASAN: use-after-free Read in fast_dput 19 1 350d 350d 0/2 auto-obsoleted due to no activity on 2025/04/27 04:39
android-5-10 KASAN: use-after-free Read in fast_dput (3) 19 25 14d 139d 0/2 premoderation: reported on 2025/08/26 09:24
android-5-10 KASAN: use-after-free Read in fast_dput 19 14 357d 546d 0/2 auto-obsoleted due to no activity on 2025/04/20 07:57
android-5-15 KASAN: use-after-free Read in fast_dput (2) 19 46 4h25m 84d 0/2 premoderation: reported on 2025/10/20 04:48
android-5-10 KASAN: use-after-free Read in fast_dput (2) 19 1 252d 252d 0/2 auto-obsoleted due to no activity on 2025/08/03 11:21

Sample crash report:
==================================================================
BUG: KASAN: use-after-free in fast_dput+0x1e9/0x290 fs/dcache.c:778
Read of size 4 at addr ffff88813f4b1660 by task syz-executor/2827

CPU: 1 PID: 2827 Comm: syz-executor Tainted: G        W          syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/25/2025
Call Trace:
 <TASK>
 __dump_stack+0x21/0x24 lib/dump_stack.c:88
 dump_stack_lvl+0xee/0x150 lib/dump_stack.c:106
 print_address_description+0x71/0x200 mm/kasan/report.c:316
 print_report+0x4a/0x60 mm/kasan/report.c:420
 kasan_report+0x122/0x150 mm/kasan/report.c:524
 __asan_report_load4_noabort+0x14/0x20 mm/kasan/report_generic.c:350
 fast_dput+0x1e9/0x290 fs/dcache.c:778
 dput+0x21/0x80 fs/dcache.c:905
 incfs_free_mount_info+0x60/0x200 fs/incfs/data_mgmt.c:166
 incfs_kill_sb+0x1b8/0x220 fs/incfs/vfs.c:2003
 deactivate_locked_super+0xb5/0x120 fs/super.c:334
 deactivate_super+0xaf/0xe0 fs/super.c:365
 cleanup_mnt+0x45f/0x4e0 fs/namespace.c:1191
 __cleanup_mnt+0x19/0x20 fs/namespace.c:1198
 task_work_run+0x1db/0x240 kernel/task_work.c:203
 exit_task_work include/linux/task_work.h:39 [inline]
 do_exit+0xa25/0x2650 kernel/exit.c:886
 do_group_exit+0x210/0x2d0 kernel/exit.c:1028
 __do_sys_exit_group kernel/exit.c:1039 [inline]
 __se_sys_exit_group kernel/exit.c:1037 [inline]
 __x64_sys_exit_group+0x3f/0x40 kernel/exit.c:1037
 x64_sys_call+0x7b4/0x9a0 arch/x86/include/generated/asm/syscalls_64.h:232
 do_syscall_x64 arch/x86/entry/common.c:51 [inline]
 do_syscall_64+0x4c/0xa0 arch/x86/entry/common.c:81
 entry_SYSCALL_64_after_hwframe+0x68/0xd2
RIP: 0033:0x7f698818f749
Code: Unable to access opcode bytes at 0x7f698818f71f.
RSP: 002b:00007ffedd0e2ee8 EFLAGS: 00000246 ORIG_RAX: 00000000000000e7
RAX: ffffffffffffffda RBX: 00007f6988213ddd RCX: 00007f698818f749
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000001
RBP: 0000000000000009 R08: 00007ffedd0e0c87 R09: 00007ffedd0e41a0
R10: 0000000000000009 R11: 0000000000000246 R12: 00007ffedd0e41a0
R13: 00007f6988213d7d R14: 00005555691f24a8 R15: 00007ffedd0e5270
 </TASK>

Allocated by task 6139:
 kasan_save_stack mm/kasan/common.c:45 [inline]
 kasan_set_track+0x4b/0x70 mm/kasan/common.c:52
 kasan_save_alloc_info+0x25/0x30 mm/kasan/generic.c:505
 __kasan_slab_alloc+0x72/0x80 mm/kasan/common.c:333
 kasan_slab_alloc include/linux/kasan.h:202 [inline]
 slab_post_alloc_hook+0x4f/0x2d0 mm/slab.h:768
 slab_alloc_node mm/slub.c:3382 [inline]
 slab_alloc mm/slub.c:3392 [inline]
 __kmem_cache_alloc_lru mm/slub.c:3399 [inline]
 kmem_cache_alloc_lru+0x104/0x280 mm/slub.c:3415
 __d_alloc+0x34/0x6c0 fs/dcache.c:1774
 d_alloc fs/dcache.c:1854 [inline]
 d_alloc_parallel+0xe1/0x12f0 fs/dcache.c:2647
 __lookup_slow+0x141/0x3f0 fs/namei.c:1682
 lookup_one_len+0x195/0x2d0 fs/namei.c:2747
 incfs_lookup_dentry+0x60/0xb0 fs/incfs/data_mgmt.c:210
 open_or_create_special_dir+0x4f/0x1d0 fs/incfs/vfs.c:475
 incfs_mount_fs+0x42f/0x880 fs/incfs/vfs.c:1890
 legacy_get_tree+0xfe/0x1a0 fs/fs_context.c:632
 vfs_get_tree+0x9a/0x270 fs/super.c:1575
 do_new_mount+0x25a/0xa20 fs/namespace.c:3078
 path_mount+0x675/0x1010 fs/namespace.c:3408
 do_mount fs/namespace.c:3421 [inline]
 __do_sys_mount fs/namespace.c:3629 [inline]
 __se_sys_mount+0x318/0x380 fs/namespace.c:3606
 __x64_sys_mount+0xbf/0xd0 fs/namespace.c:3606
 x64_sys_call+0x65d/0x9a0 arch/x86/include/generated/asm/syscalls_64.h:166
 do_syscall_x64 arch/x86/entry/common.c:51 [inline]
 do_syscall_64+0x4c/0xa0 arch/x86/entry/common.c:81
 entry_SYSCALL_64_after_hwframe+0x68/0xd2

Freed by task 23:
 kasan_save_stack mm/kasan/common.c:45 [inline]
 kasan_set_track+0x4b/0x70 mm/kasan/common.c:52
 kasan_save_free_info+0x31/0x50 mm/kasan/generic.c:516
 ____kasan_slab_free+0x132/0x180 mm/kasan/common.c:241
 __kasan_slab_free+0x11/0x20 mm/kasan/common.c:249
 kasan_slab_free include/linux/kasan.h:178 [inline]
 slab_free_hook mm/slub.c:1750 [inline]
 slab_free_freelist_hook+0xc2/0x190 mm/slub.c:1776
 slab_free mm/slub.c:3712 [inline]
 kmem_cache_free+0x12d/0x300 mm/slub.c:3737
 __d_free+0x23/0x30 fs/dcache.c:298
 rcu_do_batch+0x515/0xb90 kernel/rcu/tree.c:2297
 rcu_core+0x5a5/0xe70 kernel/rcu/tree.c:2557
 rcu_core_si+0x9/0x10 kernel/rcu/tree.c:2574
 handle_softirqs+0x1d7/0x600 kernel/softirq.c:642
 run_ksoftirqd+0x28/0x30 kernel/softirq.c:1019
 smpboot_thread_fn+0x4a0/0x910 kernel/smpboot.c:164
 kthread+0x281/0x320 kernel/kthread.c:386
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295

Last potentially related work creation:
 kasan_save_stack+0x3a/0x60 mm/kasan/common.c:45
 __kasan_record_aux_stack+0xb6/0xc0 mm/kasan/generic.c:486
 kasan_record_aux_stack_noalloc+0xb/0x10 mm/kasan/generic.c:496
 __call_rcu_common kernel/rcu/tree.c:2807 [inline]
 call_rcu+0xd4/0xf90 kernel/rcu/tree.c:2926
 dentry_free+0xbd/0x150 fs/dcache.c:-1
 __dentry_kill+0x529/0x670 fs/dcache.c:625
 dentry_kill+0xc0/0x2a0 fs/dcache.c:-1
 dput+0x42/0x80 fs/dcache.c:918
 incfs_free_mount_info+0x60/0x200 fs/incfs/data_mgmt.c:166
 incfs_kill_sb+0x1b8/0x220 fs/incfs/vfs.c:2003
 deactivate_locked_super+0xb5/0x120 fs/super.c:334
 deactivate_super+0xaf/0xe0 fs/super.c:365
 cleanup_mnt+0x45f/0x4e0 fs/namespace.c:1191
 __cleanup_mnt+0x19/0x20 fs/namespace.c:1198
 task_work_run+0x1db/0x240 kernel/task_work.c:203
 exit_task_work include/linux/task_work.h:39 [inline]
 do_exit+0xa25/0x2650 kernel/exit.c:886
 do_group_exit+0x210/0x2d0 kernel/exit.c:1028
 __do_sys_exit_group kernel/exit.c:1039 [inline]
 __se_sys_exit_group kernel/exit.c:1037 [inline]
 __x64_sys_exit_group+0x3f/0x40 kernel/exit.c:1037
 x64_sys_call+0x7b4/0x9a0 arch/x86/include/generated/asm/syscalls_64.h:232
 do_syscall_x64 arch/x86/entry/common.c:51 [inline]
 do_syscall_64+0x4c/0xa0 arch/x86/entry/common.c:81
 entry_SYSCALL_64_after_hwframe+0x68/0xd2

The buggy address belongs to the object at ffff88813f4b1660
 which belongs to the cache dentry of size 208
The buggy address is located 0 bytes inside of
 208-byte region [ffff88813f4b1660, ffff88813f4b1730)

The buggy address belongs to the physical page:
page:ffffea0004fd2c40 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x13f4b1
flags: 0x4000000000000200(slab|zone=1)
raw: 4000000000000200 ffffea0004601d40 dead000000000003 ffff8881001eca80
raw: 0000000000000000 00000000000f000f 00000001ffffffff 0000000000000000
page dumped because: kasan: bad access detected
page_owner tracks the page as allocated
page last allocated via order 0, migratetype Reclaimable, gfp_mask 0x112cd0(GFP_USER|__GFP_NOWARN|__GFP_NORETRY|__GFP_RECLAIMABLE), pid 4875, tgid 4875 (syz-executor), ts 229115463308, free_ts 209385665848
 set_page_owner include/linux/page_owner.h:33 [inline]
 post_alloc_hook+0x1f5/0x210 mm/page_alloc.c:2643
 prep_new_page+0x1c/0x110 mm/page_alloc.c:2650
 get_page_from_freelist+0x2c7b/0x2cf0 mm/page_alloc.c:4554
 __alloc_pages+0x1c3/0x450 mm/page_alloc.c:5868
 alloc_slab_page+0x6e/0xf0 include/linux/gfp.h:-1
 allocate_slab mm/slub.c:1967 [inline]
 new_slab+0x98/0x3d0 mm/slub.c:2020
 ___slab_alloc+0x6bd/0xb20 mm/slub.c:3177
 __slab_alloc+0x5e/0xa0 mm/slub.c:3263
 slab_alloc_node mm/slub.c:3348 [inline]
 slab_alloc mm/slub.c:3392 [inline]
 __kmem_cache_alloc_lru mm/slub.c:3399 [inline]
 kmem_cache_alloc_lru+0x144/0x280 mm/slub.c:3415
 __d_alloc+0x34/0x6c0 fs/dcache.c:1774
 d_alloc+0x4b/0x260 fs/dcache.c:1854
 lookup_one_qstr_excl+0xcb/0x270 fs/namei.c:1608
 filename_create+0x219/0x450 fs/namei.c:3884
 do_symlinkat+0x65/0x5a0 fs/namei.c:4497
 __do_sys_symlinkat fs/namei.c:4524 [inline]
 __se_sys_symlinkat fs/namei.c:4521 [inline]
 __x64_sys_symlinkat+0x99/0xb0 fs/namei.c:4521
 x64_sys_call+0x282/0x9a0 arch/x86/include/generated/asm/syscalls_64.h:267
page last free stack trace:
 reset_page_owner include/linux/page_owner.h:26 [inline]
 free_pages_prepare mm/page_alloc.c:1551 [inline]
 free_pcp_prepare mm/page_alloc.c:1625 [inline]
 free_unref_page_prepare+0x742/0x750 mm/page_alloc.c:3589
 free_unref_page+0x8f/0x530 mm/page_alloc.c:3687
 free_the_page mm/page_alloc.c:836 [inline]
 __free_pages+0x67/0x100 mm/page_alloc.c:5957
 __free_slab+0xca/0x1a0 mm/slub.c:2044
 free_slab mm/slub.c:2059 [inline]
 discard_slab mm/slub.c:2065 [inline]
 __unfreeze_partials+0x160/0x190 mm/slub.c:2614
 put_cpu_partial+0xa9/0x100 mm/slub.c:2690
 __slab_free+0x1c4/0x280 mm/slub.c:3589
 do_slab_free mm/slub.c:3666 [inline]
 ___cache_free+0xbf/0xd0 mm/slub.c:3722
 qlink_free mm/kasan/quarantine.c:168 [inline]
 qlist_free_all+0xc6/0x140 mm/kasan/quarantine.c:187
 kasan_quarantine_reduce+0x14a/0x170 mm/kasan/quarantine.c:294
 __kasan_slab_alloc+0x24/0x80 mm/kasan/common.c:310
 kasan_slab_alloc include/linux/kasan.h:202 [inline]
 slab_post_alloc_hook+0x4f/0x2d0 mm/slab.h:768
 slab_alloc_node mm/slub.c:3382 [inline]
 __kmem_cache_alloc_node+0x192/0x2c0 mm/slub.c:3423
 kmalloc_trace+0x29/0xb0 mm/slab_common.c:1028
 kmalloc include/linux/slab.h:563 [inline]
 kzalloc include/linux/slab.h:699 [inline]
 ref_tracker_alloc+0x139/0x430 lib/ref_tracker.c:85
 netns_tracker_alloc include/net/net_namespace.h:357 [inline]
 get_net_track include/net/net_namespace.h:373 [inline]
 sk_alloc+0x1d3/0x460 net/core/sock.c:2126

Memory state around the buggy address:
 ffff88813f4b1500: fb fb fc fc fc fc fc fc fc fc fa fb fb fb fb fb
 ffff88813f4b1580: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
>ffff88813f4b1600: fb fb fb fb fc fc fc fc fc fc fc fc fa fb fb fb
                                                       ^
 ffff88813f4b1680: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
 ffff88813f4b1700: fb fb fb fb fb fb fc fc fc fc fc fc fc fc fa fb
==================================================================
------------[ cut here ]------------
WARNING: CPU: 0 PID: 2827 at fs/dcache.c:794 fast_dput+0x210/0x290 fs/dcache.c:794
Modules linked in:
CPU: 0 PID: 2827 Comm: syz-executor Tainted: G    B   W          syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/25/2025
RIP: 0010:fast_dput+0x210/0x290 fs/dcache.c:794
Code: d4 f1 ff e9 46 fe ff ff 89 d9 80 e1 07 80 c1 03 38 c1 0f 8c 99 fe ff ff 48 89 df e8 6a d4 f1 ff e9 8c fe ff ff e8 60 53 ad ff <0f> 0b e9 0b ff ff ff 89 d9 80 e1 07 80 c1 03 38 c1 0f 8c e4 fe ff
RSP: 0018:ffffc90000957ad0 EFLAGS: 00010293
RAX: ffffffff81c2d6a0 RBX: ffff88813f4b1660 RCX: ffff8881126dd100
RDX: 0000000000000000 RSI: 00000000ffffff80 RDI: 0000000000000001
RBP: ffffc90000957b00 R08: 0000000000000004 R09: 0000000000000003
R10: fffff5200012af4c R11: 1ffff9200012af4c R12: 00000000ffffff80
R13: dffffc0000000000 R14: ffff88813f4b16b8 R15: 1ffff11027e962d7
FS:  0000000000000000(0000) GS:ffff8881f7000000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fa4bf18ff98 CR3: 000000010fd49000 CR4: 00000000003506b0
Call Trace:
 <TASK>
 dput+0x21/0x80 fs/dcache.c:905
 incfs_free_mount_info+0x60/0x200 fs/incfs/data_mgmt.c:166
 incfs_kill_sb+0x1b8/0x220 fs/incfs/vfs.c:2003
 deactivate_locked_super+0xb5/0x120 fs/super.c:334
 deactivate_super+0xaf/0xe0 fs/super.c:365
 cleanup_mnt+0x45f/0x4e0 fs/namespace.c:1191
 __cleanup_mnt+0x19/0x20 fs/namespace.c:1198
 task_work_run+0x1db/0x240 kernel/task_work.c:203
 exit_task_work include/linux/task_work.h:39 [inline]
 do_exit+0xa25/0x2650 kernel/exit.c:886
 do_group_exit+0x210/0x2d0 kernel/exit.c:1028
 __do_sys_exit_group kernel/exit.c:1039 [inline]
 __se_sys_exit_group kernel/exit.c:1037 [inline]
 __x64_sys_exit_group+0x3f/0x40 kernel/exit.c:1037
 x64_sys_call+0x7b4/0x9a0 arch/x86/include/generated/asm/syscalls_64.h:232
 do_syscall_x64 arch/x86/entry/common.c:51 [inline]
 do_syscall_64+0x4c/0xa0 arch/x86/entry/common.c:81
 entry_SYSCALL_64_after_hwframe+0x68/0xd2
RIP: 0033:0x7f698818f749
Code: Unable to access opcode bytes at 0x7f698818f71f.
RSP: 002b:00007ffedd0e2ee8 EFLAGS: 00000246 ORIG_RAX: 00000000000000e7
RAX: ffffffffffffffda RBX: 00007f6988213ddd RCX: 00007f698818f749
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000001
RBP: 0000000000000009 R08: 00007ffedd0e0c87 R09: 00007ffedd0e41a0
R10: 0000000000000009 R11: 0000000000000246 R12: 00007ffedd0e41a0
R13: 00007f6988213d7d R14: 00005555691f24a8 R15: 00007ffedd0e5270
 </TASK>
---[ end trace 0000000000000000 ]---

Crashes (5):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/12/29 12:30 android14-6.1 5e6db7045704 d6526ea3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-6-1 KASAN: use-after-free Read in fast_dput
2025/12/21 01:39 android14-6.1 72ada78f601d d6526ea3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-6-1 KASAN: use-after-free Read in fast_dput
2025/12/09 13:49 android14-6.1 5ddae867b428 d6526ea3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-6-1 KASAN: use-after-free Read in fast_dput
2025/11/24 05:21 android14-6.1 eba111621724 4fb8ef37 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-6-1 KASAN: use-after-free Read in fast_dput
2025/10/25 11:03 android14-6.1 22c0b7236c43 c0460fcd .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-6-1 KASAN: use-after-free Read in fast_dput
* Struck through repros no longer work on HEAD.