syzbot


KASAN: use-after-free Read in ocfs2_fault

Status: upstream: reported on 2025/05/31 00:13
Reported-by: syzbot+80b869690c5c1d5c9e95@syzkaller.appspotmail.com
First crash: 105d, last: 5d03h
Similar bugs (2)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-5.15 KASAN: use-after-free Read in ocfs2_fault 19 1 125d 125d 0/3 auto-obsoleted due to no activity on 2025/08/18 07:54
upstream KASAN: slab-use-after-free Read in ocfs2_fault ocfs2 19 C 170 1d06h 365d 0/29 upstream: reported C repro on 2024/09/12 09:21

Sample crash report:
==================================================================
BUG: KASAN: use-after-free in ocfs2_fault+0xc8/0x4a4 fs/ocfs2/mmap.c:41
Read of size 8 at addr ffff0000dcfbf580 by task syz.0.14/4471

CPU: 1 PID: 4471 Comm: syz.0.14 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/30/2025
Call trace:
 dump_backtrace+0x1c8/0x1f4 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+0xf8/0x160 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+0xa8/0x100 mm/kasan/report.c:524
 __asan_report_load8_noabort+0x2c/0x38 mm/kasan/report_generic.c:351
 ocfs2_fault+0xc8/0x4a4 fs/ocfs2/mmap.c:41
 __do_fault+0x11c/0x3d8 mm/memory.c:4280
 do_read_fault mm/memory.c:4631 [inline]
 do_fault mm/memory.c:4760 [inline]
 handle_pte_fault mm/memory.c:5031 [inline]
 __handle_mm_fault mm/memory.c:5173 [inline]
 handle_mm_fault+0x1ac0/0x2fd4 mm/memory.c:5294
 faultin_page mm/gup.c:1026 [inline]
 __get_user_pages+0x338/0x798 mm/gup.c:1250
 populate_vma_page_range+0x1f4/0x298 mm/gup.c:1607
 __mm_populate+0x208/0x330 mm/gup.c:1721
 mm_populate include/linux/mm.h:2837 [inline]
 vm_mmap_pgoff+0x1cc/0x284 mm/util.c:525
 ksys_mmap_pgoff+0x3b8/0x5a0 mm/mmap.c:1482
 __do_sys_mmap arch/arm64/kernel/sys.c:28 [inline]
 __se_sys_mmap arch/arm64/kernel/sys.c:21 [inline]
 __arm64_sys_mmap+0xf8/0x110 arch/arm64/kernel/sys.c:21
 __invoke_syscall arch/arm64/kernel/syscall.c:38 [inline]
 invoke_syscall+0x98/0x2bc arch/arm64/kernel/syscall.c:52
 el0_svc_common+0x138/0x258 arch/arm64/kernel/syscall.c:140
 do_el0_svc+0x58/0x13c arch/arm64/kernel/syscall.c:204
 el0_svc+0x58/0x138 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 4471:
 kasan_save_stack mm/kasan/common.c:45 [inline]
 kasan_set_track+0x4c/0x80 mm/kasan/common.c:52
 kasan_save_alloc_info+0x28/0x34 mm/kasan/generic.c:505
 __kasan_slab_alloc+0x70/0x88 mm/kasan/common.c:328
 kasan_slab_alloc include/linux/kasan.h:201 [inline]
 slab_post_alloc_hook+0x74/0x43c mm/slab.h:737
 slab_alloc_node mm/slub.c:3398 [inline]
 slab_alloc mm/slub.c:3406 [inline]
 __kmem_cache_alloc_lru mm/slub.c:3413 [inline]
 kmem_cache_alloc+0x234/0x318 mm/slub.c:3422
 vm_area_alloc+0x2c/0xe0 kernel/fork.c:459
 __mmap_region mm/mmap.c:2753 [inline]
 mmap_region+0xb68/0x18d8 mm/mmap.c:2916
 do_mmap+0x9dc/0x11f4 mm/mmap.c:1436
 vm_mmap_pgoff+0x184/0x284 mm/util.c:520
 ksys_mmap_pgoff+0x3b8/0x5a0 mm/mmap.c:1482
 __do_sys_mmap arch/arm64/kernel/sys.c:28 [inline]
 __se_sys_mmap arch/arm64/kernel/sys.c:21 [inline]
 __arm64_sys_mmap+0xf8/0x110 arch/arm64/kernel/sys.c:21
 __invoke_syscall arch/arm64/kernel/syscall.c:38 [inline]
 invoke_syscall+0x98/0x2bc arch/arm64/kernel/syscall.c:52
 el0_svc_common+0x138/0x258 arch/arm64/kernel/syscall.c:140
 do_el0_svc+0x58/0x13c arch/arm64/kernel/syscall.c:204
 el0_svc+0x58/0x138 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 4472:
 kasan_save_stack mm/kasan/common.c:45 [inline]
 kasan_set_track+0x4c/0x80 mm/kasan/common.c:52
 kasan_save_free_info+0x3c/0x60 mm/kasan/generic.c:516
 ____kasan_slab_free+0x148/0x1b0 mm/kasan/common.c:236
 __kasan_slab_free+0x18/0x28 mm/kasan/common.c:244
 kasan_slab_free include/linux/kasan.h:177 [inline]
 slab_free_hook mm/slub.c:1724 [inline]
 slab_free_freelist_hook+0x16c/0x1ec mm/slub.c:1750
 slab_free mm/slub.c:3661 [inline]
 kmem_cache_free+0x11c/0x324 mm/slub.c:3683
 vm_area_free+0x58/0x12c kernel/fork.c:486
 remove_vma mm/mmap.c:144 [inline]
 remove_mt mm/mmap.c:2319 [inline]
 do_mas_align_munmap+0xc1c/0xeec mm/mmap.c:2595
 do_mas_munmap mm/mmap.c:2650 [inline]
 __mmap_region mm/mmap.c:2698 [inline]
 mmap_region+0x660/0x18d8 mm/mmap.c:2916
 do_mmap+0x9dc/0x11f4 mm/mmap.c:1436
 vm_mmap_pgoff+0x184/0x284 mm/util.c:520
 ksys_mmap_pgoff+0x3b8/0x5a0 mm/mmap.c:1482
 __do_sys_mmap arch/arm64/kernel/sys.c:28 [inline]
 __se_sys_mmap arch/arm64/kernel/sys.c:21 [inline]
 __arm64_sys_mmap+0xf8/0x110 arch/arm64/kernel/sys.c:21
 __invoke_syscall arch/arm64/kernel/syscall.c:38 [inline]
 invoke_syscall+0x98/0x2bc arch/arm64/kernel/syscall.c:52
 el0_svc_common+0x138/0x258 arch/arm64/kernel/syscall.c:140
 do_el0_svc+0x58/0x13c arch/arm64/kernel/syscall.c:204
 el0_svc+0x58/0x138 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 ffff0000dcfbf510
 which belongs to the cache vm_area_struct of size 152
The buggy address is located 112 bytes inside of
 152-byte region [ffff0000dcfbf510, ffff0000dcfbf5a8)

The buggy address belongs to the physical page:
page:0000000013e6d35a refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x11cfbf
memcg:ffff0000ddad3801
flags: 0x5ffc00000000200(slab|node=0|zone=2|lastcpupid=0x7ff)
raw: 05ffc00000000200 fffffc000322b640 dead00000000000b ffff0000c03db680
raw: 0000000000000000 0000000000120012 00000001ffffffff ffff0000ddad3801
page dumped because: kasan: bad access detected

Memory state around the buggy address:
 ffff0000dcfbf480: fb fb fb fb fb fb fb fb fb fb fc fc fc fc fc fc
 ffff0000dcfbf500: fc fc fa fb fb fb fb fb fb fb fb fb fb fb fb fb
>ffff0000dcfbf580: fb fb fb fb fb fc fc fc fc fc fc fc fc fa fb fb
                   ^
 ffff0000dcfbf600: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
 ffff0000dcfbf680: fc fc fc fc fc fc fc fc fa fb fb fb fb fb fb fb
==================================================================

Crashes (5):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/09/08 02:45 linux-6.1.y 28c695c365e1 d291dd2d .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 KASAN: use-after-free Read in ocfs2_fault
2025/08/27 18:34 linux-6.1.y 0bc96de781b4 e12e5ba4 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 KASAN: use-after-free Read in ocfs2_fault
2025/08/24 04:11 linux-6.1.y 0bc96de781b4 bf27483f .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 KASAN: use-after-free Read in ocfs2_fault
2025/08/18 22:36 linux-6.1.y 0bc96de781b4 1804e95e .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 KASAN: use-after-free Read in ocfs2_fault
2025/05/31 00:12 linux-6.1.y da3c5173c55f 3d2f584d .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 KASAN: use-after-free Read in ocfs2_fault
* Struck through repros no longer work on HEAD.