syzbot


KASAN: slab-use-after-free Read in wait_consider_task

Status: auto-obsoleted due to no activity on 2023/08/17 09:58
Subsystems: kernel
[Documentation on labels]
Reported-by: syzbot+7b1ff01e5e4c9b045ad0@syzkaller.appspotmail.com
First crash: 348d, last: 348d
Similar bugs (5)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-4.19 BUG: unable to handle kernel paging request in wait_consider_task (2) 2 1026d 1064d 0/1 auto-closed as invalid on 2021/11/08 02:07
linux-4.19 BUG: unable to handle kernel paging request in wait_consider_task (3) 1 854d 854d 0/1 auto-closed as invalid on 2022/04/28 14:50
linux-4.14 BUG: unable to handle kernel paging request in wait_consider_task (2) 1 1095d 1095d 0/1 auto-closed as invalid on 2021/08/30 22:57
upstream BUG: unable to handle kernel paging request in wait_consider_task (3) kernel 4 880d 1005d 0/26 auto-closed as invalid on 2022/03/03 21:46
linux-4.19 general protection fault in wait_consider_task (2) C error 2 627d 1335d 0/1 upstream: reported C repro on 2020/09/04 22:53

Sample crash report:
==================================================================
BUG: KASAN: slab-use-after-free in wait_consider_task+0x1e54/0x26f0 kernel/exit.c:1388
Read of size 4 at addr ffff0001322f84f0 by task syz-executor.4/6002

CPU: 1 PID: 6002 Comm: syz-executor.4 Not tainted 6.4.0-rc2-syzkaller-gf1fcbaa18b28 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/28/2023
Call trace:
 dump_backtrace+0x1b8/0x1e4 arch/arm64/kernel/stacktrace.c:233
 show_stack+0x2c/0x44 arch/arm64/kernel/stacktrace.c:240
 __dump_stack lib/dump_stack.c:88 [inline]
 dump_stack_lvl+0xd0/0x124 lib/dump_stack.c:106
 print_address_description mm/kasan/report.c:351 [inline]
 print_report+0x174/0x514 mm/kasan/report.c:462
 kasan_report+0xd4/0x130 mm/kasan/report.c:572
 __asan_report_load4_noabort+0x20/0x2c mm/kasan/report_generic.c:380
 wait_consider_task+0x1e54/0x26f0 kernel/exit.c:1388
 do_wait_thread kernel/exit.c:1497 [inline]
 do_wait+0x2f4/0xac8 kernel/exit.c:1614
 kernel_wait4+0x24c/0x3d8 kernel/exit.c:1777
 __do_sys_wait4 kernel/exit.c:1805 [inline]
 __se_sys_wait4 kernel/exit.c:1801 [inline]
 __arm64_sys_wait4+0x11c/0x2a0 kernel/exit.c:1801
 __invoke_syscall arch/arm64/kernel/syscall.c:38 [inline]
 invoke_syscall+0x98/0x2c0 arch/arm64/kernel/syscall.c:52
 el0_svc_common+0x138/0x258 arch/arm64/kernel/syscall.c:142
 do_el0_svc+0x64/0x198 arch/arm64/kernel/syscall.c:193
 el0_svc+0x4c/0x15c arch/arm64/kernel/entry-common.c:637
 el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:655
 el0t_64_sync+0x190/0x194 arch/arm64/kernel/entry.S:591

Allocated by task 6002:
 kasan_save_stack mm/kasan/common.c:45 [inline]
 kasan_set_track+0x4c/0x7c mm/kasan/common.c:52
 kasan_save_alloc_info+0x24/0x30 mm/kasan/generic.c:510
 __kasan_slab_alloc+0x74/0x8c mm/kasan/common.c:328
 kasan_slab_alloc include/linux/kasan.h:186 [inline]
 slab_post_alloc_hook+0x80/0x488 mm/slab.h:711
 slab_alloc_node mm/slub.c:3451 [inline]
 kmem_cache_alloc_node+0x2cc/0x46c mm/slub.c:3496
 alloc_task_struct_node kernel/fork.c:173 [inline]
 dup_task_struct+0x74/0x888 kernel/fork.c:1108
 copy_process+0x488/0x3514 kernel/fork.c:2333
 kernel_clone+0x1d8/0x8ac kernel/fork.c:2918
 __do_sys_clone kernel/fork.c:3061 [inline]
 __se_sys_clone kernel/fork.c:3029 [inline]
 __arm64_sys_clone+0x1f8/0x24c kernel/fork.c:3029
 __invoke_syscall arch/arm64/kernel/syscall.c:38 [inline]
 invoke_syscall+0x98/0x2c0 arch/arm64/kernel/syscall.c:52
 el0_svc_common+0x138/0x258 arch/arm64/kernel/syscall.c:142
 do_el0_svc+0x64/0x198 arch/arm64/kernel/syscall.c:193
 el0_svc+0x4c/0x15c arch/arm64/kernel/entry-common.c:637
 el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:655
 el0t_64_sync+0x190/0x194 arch/arm64/kernel/entry.S:591

Freed by task 6012:
 kasan_save_stack mm/kasan/common.c:45 [inline]
 kasan_set_track+0x4c/0x7c mm/kasan/common.c:52
 kasan_save_free_info+0x38/0x5c mm/kasan/generic.c:521
 ____kasan_slab_free+0x144/0x1c0 mm/kasan/common.c:236
 __kasan_slab_free+0x18/0x28 mm/kasan/common.c:244
 kasan_slab_free include/linux/kasan.h:162 [inline]
 slab_free_hook mm/slub.c:1781 [inline]
 slab_free_freelist_hook mm/slub.c:1807 [inline]
 slab_free mm/slub.c:3786 [inline]
 __kmem_cache_free+0x2a8/0x49c mm/slub.c:3799
 kfree+0xb8/0x19c mm/slab_common.c:1015
 diUnmount+0xf4/0x10c fs/jfs/jfs_imap.c:195
 jfs_umount+0x15c/0x360 fs/jfs/jfs_umount.c:63
 jfs_put_super+0x90/0x188 fs/jfs/super.c:194
 generic_shutdown_super+0x130/0x328 fs/super.c:500
 kill_block_super+0x70/0xdc fs/super.c:1407
 deactivate_locked_super+0xac/0x124 fs/super.c:331
 deactivate_super+0xe0/0x100 fs/super.c:362
 cleanup_mnt+0x34c/0x3dc fs/namespace.c:1177
 __cleanup_mnt+0x20/0x30 fs/namespace.c:1184
 task_work_run+0x230/0x2e0 kernel/task_work.c:179
 resume_user_mode_work include/linux/resume_user_mode.h:49 [inline]
 do_notify_resume+0x2180/0x3c90 arch/arm64/kernel/signal.c:1304
 prepare_exit_to_user_mode arch/arm64/kernel/entry-common.c:137 [inline]
 exit_to_user_mode arch/arm64/kernel/entry-common.c:142 [inline]
 el0_svc+0x90/0x15c arch/arm64/kernel/entry-common.c:638
 el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:655
 el0t_64_sync+0x190/0x194 arch/arm64/kernel/entry.S:591

The buggy address belongs to the object at ffff0001322f8000
 which belongs to the cache task_struct of size 6848
The buggy address is located 1264 bytes inside of
 freed 6848-byte region [ffff0001322f8000, ffff0001322f9ac0)

The buggy address belongs to the physical page:
page:000000001a34d243 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x1722f8
head:000000001a34d243 order:3 entire_mapcount:0 nr_pages_mapped:0 pincount:0
memcg:ffff0000cfb71301
flags: 0x5ffc00000010200(slab|head|node=0|zone=2|lastcpupid=0x7ff)
page_type: 0xffffffff()
raw: 05ffc00000010200 ffff0000c144af00 dead000000000122 0000000000000000
raw: 0000000000000000 0000000080040004 00000001ffffffff ffff0000cfb71301
page dumped because: kasan: bad access detected

Memory state around the buggy address:
 ffff0001322f8380: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
 ffff0001322f8400: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
>ffff0001322f8480: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
                                                             ^
 ffff0001322f8500: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
 ffff0001322f8580: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
==================================================================

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2023/05/19 09:57 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci f1fcbaa18b28 3bb7af1d .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 KASAN: slab-use-after-free Read in wait_consider_task
* Struck through repros no longer work on HEAD.