syzbot


KASAN: out-of-bounds Write in copy_from_kernel_nofault

Status: closed as invalid on 2024/09/13 11:13
Subsystems: mm
[Documentation on labels]
First crash: 103d, last: 103d
Similar bugs (7)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream BUG: unable to handle kernel paging request in copy_from_kernel_nofault (2) mm C 2 234d 244d 25/28 fixed on 2024/05/22 23:36
upstream BUG: unable to handle kernel paging request in copy_from_kernel_nofault mm C done 5 279d 378d 25/28 fixed on 2024/03/29 01:33
upstream KASAN: out-of-bounds Read in copy_from_kernel_nofault mm C done 1621 53d 63d 24/28 upstream: reported C repro on 2024/09/30 13:40
linux-5.15 BUG: unable to handle kernel paging request in copy_from_kernel_nofault origin:upstream C done 2 279d 382d 3/3 fixed on 2024/03/28 13:37
linux-6.1 KASAN: stack-out-of-bounds Write in copy_from_kernel_nofault origin:lts-only C unreliable 3 279d 610d 0/3 upstream: reported C repro on 2023/04/02 16:05
android-5-15 BUG: unable to handle kernel paging request in copy_from_kernel_nofault missing-backport C done 231 113d 382d 0/2 auto-obsoleted due to no activity on 2024/10/20 13:25
android-6-1 BUG: unable to handle kernel paging request in copy_from_kernel_nofault origin:upstream missing-backport C done inconclusive 127 166d 383d 0/2 auto-obsoleted due to no activity on 2024/08/28 01:00

Sample crash report:
==================================================================
BUG: KASAN: out-of-bounds in copy_from_kernel_nofault+0xa5/0x2e0 mm/maccess.c:36
Write of size 8 at addr ffffc90004497330 by task syz.3.34/5440

CPU: 1 UID: 0 PID: 5440 Comm: syz.3.34 Not tainted 6.11.0-rc4-next-20240821-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/06/2024
Call Trace:
 <TASK>
 __dump_stack lib/dump_stack.c:94 [inline]
 dump_stack_lvl+0x241/0x360 lib/dump_stack.c:120
 print_address_description mm/kasan/report.c:377 [inline]
 print_report+0x169/0x550 mm/kasan/report.c:488
 kasan_report+0x143/0x180 mm/kasan/report.c:601
 copy_from_kernel_nofault+0xa5/0x2e0 mm/maccess.c:36
 get_kernel_gp_address arch/x86/kernel/traps.c:554 [inline]
 __exc_general_protection arch/x86/kernel/traps.c:733 [inline]
 exc_general_protection+0x3c2/0x5d0 arch/x86/kernel/traps.c:693
 </TASK>

The buggy address belongs to stack of task syz.3.34/5440

The buggy address belongs to the virtual mapping at
 [ffffc90004490000, ffffc90004499000) created by:
 copy_process+0x5d1/0x3d50 kernel/fork.c:2206

The buggy address belongs to the physical page:
page: refcount:1 mapcount:0 mapping:0000000000000000 index:0x3 pfn:0x7e3bc
memcg:ffff88802b624182
flags: 0xfff00000000000(node=0|zone=1|lastcpupid=0x7ff)
raw: 00fff00000000000 0000000000000000 dead000000000122 0000000000000000
raw: 0000000000000003 0000000000000000 00000001ffffffff ffff88802b624182
page dumped because: kasan: bad access detected
page_owner tracks the page as allocated
page last allocated via order 0, migratetype Unmovable, gfp_mask 0x102dc2(GFP_HIGHUSER|__GFP_NOWARN|__GFP_ZERO), pid 5233, tgid 5233 (syz-executor), ts 66210599981, free_ts 66183164531
 set_page_owner include/linux/page_owner.h:32 [inline]
 post_alloc_hook+0x1f3/0x230 mm/page_alloc.c:1517
 prep_new_page mm/page_alloc.c:1525 [inline]
 get_page_from_freelist+0x3004/0x30c0 mm/page_alloc.c:3476
 __alloc_pages_noprof+0x29e/0x780 mm/page_alloc.c:4743
 alloc_pages_mpol_noprof+0x3e8/0x680 mm/mempolicy.c:2265
 vm_area_alloc_pages mm/vmalloc.c:3600 [inline]
 __vmalloc_area_node mm/vmalloc.c:3669 [inline]
 __vmalloc_node_range_noprof+0xa40/0x1400 mm/vmalloc.c:3850
 alloc_thread_stack_node kernel/fork.c:314 [inline]
 dup_task_struct+0x444/0x8c0 kernel/fork.c:1115
 copy_process+0x5d1/0x3d50 kernel/fork.c:2206
 kernel_clone+0x226/0x8f0 kernel/fork.c:2787
 __do_sys_clone kernel/fork.c:2930 [inline]
 __se_sys_clone kernel/fork.c:2914 [inline]
 __x64_sys_clone+0x258/0x2a0 kernel/fork.c:2914
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x77/0x7f
page last free pid 5233 tgid 5233 stack trace:
 reset_page_owner include/linux/page_owner.h:25 [inline]
 free_pages_prepare mm/page_alloc.c:1098 [inline]
 free_unref_folios+0xe8a/0x1850 mm/page_alloc.c:2699
 folios_put_refs+0x76e/0x860 mm/swap.c:1007
 folio_batch_release include/linux/pagevec.h:101 [inline]
 mapping_try_invalidate+0x3b1/0x4f0 mm/truncate.c:515
 ext4_put_super+0x666/0xd50 fs/ext4/super.c:1348
 generic_shutdown_super+0x139/0x2d0 fs/super.c:642
 kill_block_super+0x44/0x90 fs/super.c:1696
 ext4_kill_sb+0x68/0xa0 fs/ext4/super.c:7289
 deactivate_locked_super+0xc4/0x130 fs/super.c:473
 cleanup_mnt+0x41f/0x4b0 fs/namespace.c:1373
 task_work_run+0x24f/0x310 kernel/task_work.c:228
 resume_user_mode_work include/linux/resume_user_mode.h:50 [inline]
 exit_to_user_mode_loop kernel/entry/common.c:114 [inline]
 exit_to_user_mode_prepare include/linux/entry-common.h:328 [inline]
 __syscall_exit_to_user_mode_work kernel/entry/common.c:207 [inline]
 syscall_exit_to_user_mode+0x168/0x370 kernel/entry/common.c:218
 do_syscall_64+0x100/0x230 arch/x86/entry/common.c:89
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

Memory state around the buggy address:
 ffffc90004497200: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 ffffc90004497280: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
>ffffc90004497300: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
                                        ^
 ffffc90004497380: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 ffffc90004497400: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
==================================================================

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/08/21 14:17 linux-next eb8c5ca373cb db5852f9 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root KASAN: out-of-bounds Write in copy_from_kernel_nofault
* Struck through repros no longer work on HEAD.