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: 87d, last: 2d09h
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 108d 108d 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 155 1d05h 348d 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 ffff0000d491a220 by task syz.2.295/5476

CPU: 0 PID: 5476 Comm: syz.2.295 Not tainted 6.1.148-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:2826 [inline]
 vm_mmap_pgoff+0x1cc/0x284 mm/util.c:525
 ksys_mmap_pgoff+0x3b8/0x5a0 mm/mmap.c:1478
 __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 5476:
 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:2749 [inline]
 mmap_region+0xb64/0x1860 mm/mmap.c:2912
 do_mmap+0x978/0x10dc mm/mmap.c:1432
 vm_mmap_pgoff+0x184/0x284 mm/util.c:520
 ksys_mmap_pgoff+0x3b8/0x5a0 mm/mmap.c:1478
 __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 5458:
 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:143 [inline]
 remove_mt mm/mmap.c:2315 [inline]
 do_mas_align_munmap+0xc1c/0xeec mm/mmap.c:2591
 do_mas_munmap mm/mmap.c:2646 [inline]
 __mmap_region mm/mmap.c:2694 [inline]
 mmap_region+0x64c/0x1860 mm/mmap.c:2912
 do_mmap+0x978/0x10dc mm/mmap.c:1432
 vm_mmap_pgoff+0x184/0x284 mm/util.c:520
 ksys_mmap_pgoff+0x3b8/0x5a0 mm/mmap.c:1478
 __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 ffff0000d491a1b0
 which belongs to the cache vm_area_struct of size 152
The buggy address is located 112 bytes inside of
 152-byte region [ffff0000d491a1b0, ffff0000d491a248)

The buggy address belongs to the physical page:
page:000000002ff09adc refcount:1 mapcount:0 mapping:0000000000000000 index:0xffff0000d491ae58 pfn:0x11491a
memcg:ffff0000d3d18201
flags: 0x5ffc00000000200(slab|node=0|zone=2|lastcpupid=0x7ff)
raw: 05ffc00000000200 fffffc0003580c40 dead00000000000b ffff0000c03db680
raw: ffff0000d491ae58 0000000080120010 00000001ffffffff ffff0000d3d18201
page dumped because: kasan: bad access detected

Memory state around the buggy address:
 ffff0000d491a100: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fc fc
 ffff0000d491a180: fc fc fc fc fc fc fa fb fb fb fb fb fb fb fb fb
>ffff0000d491a200: fb fb fb fb fb fb fb fb fb fc fc fc fc fc fc fc
                               ^
 ffff0000d491a280: fc 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 ffff0000d491a300: 00 00 00 00 fc fc fc fc fc fc fc fc 00 00 00 00
==================================================================

Crashes (3):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
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.