syzbot


KCSAN: data-race in ion_page_pool_remove / ion_page_pool_shrink

Status: closed as invalid on 2020/06/18 14:24
Subsystems: staging
[Documentation on labels]
First crash: 1557d, last: 1432d

Sample crash report:
==================================================================
BUG: KCSAN: data-race in ion_page_pool_remove / ion_page_pool_shrink

write to 0xffff888218083904 of 4 bytes by task 3397 on cpu 1:
 ion_page_pool_remove+0xcd/0x200 drivers/staging/android/ion/ion_page_pool.c:55
 ion_page_pool_alloc+0x11c/0x170 drivers/staging/android/ion/ion_page_pool.c:74
 alloc_buffer_page drivers/staging/android/ion/ion_system_heap.c:53 [inline]
 alloc_largest_available drivers/staging/android/ion/ion_system_heap.c:87 [inline]
 ion_system_heap_allocate+0x1d3/0x630 drivers/staging/android/ion/ion_system_heap.c:118
 ion_buffer_create drivers/staging/android/ion/ion.c:50 [inline]
 ion_alloc drivers/staging/android/ion/ion.c:369 [inline]
 ion_ioctl+0x2b9/0xa40 drivers/staging/android/ion/ion.c:495
 vfs_ioctl fs/ioctl.c:47 [inline]
 ksys_ioctl+0x101/0x150 fs/ioctl.c:763
 __do_sys_ioctl fs/ioctl.c:772 [inline]
 __se_sys_ioctl fs/ioctl.c:770 [inline]
 __x64_sys_ioctl+0x47/0x60 fs/ioctl.c:770
 do_syscall_64+0xc7/0x3b0 arch/x86/entry/common.c:295
 entry_SYSCALL_64_after_hwframe+0x44/0xa9

read to 0xffff888218083904 of 4 bytes by task 2678 on cpu 0:
 ion_page_pool_total drivers/staging/android/ion/ion_page_pool.c:92 [inline]
 ion_page_pool_shrink+0x230/0x250 drivers/staging/android/ion/ion_page_pool.c:112
 ion_system_heap_shrink+0x64/0xd0 drivers/staging/android/ion/ion_system_heap.c:189
 ion_heap_shrink_count+0x80/0xa0 drivers/staging/android/ion/ion_heap.c:273
 do_shrink_slab+0xb3/0x5b0 mm/vmscan.c:430
 shrink_slab mm/vmscan.c:673 [inline]
 shrink_slab+0x153/0x540 mm/vmscan.c:646
 shrink_node_memcgs mm/vmscan.c:2673 [inline]
 shrink_node+0x357/0x1000 mm/vmscan.c:2777
 kswapd_shrink_node mm/vmscan.c:3523 [inline]
 balance_pgdat+0x658/0xd20 mm/vmscan.c:3681
 kswapd+0x3f3/0x8c0 mm/vmscan.c:3935
 kthread+0x203/0x230 kernel/kthread.c:268
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:352

Reported by Kernel Concurrency Sanitizer on:
CPU: 0 PID: 2678 Comm: kswapd0 Not tainted 5.7.0-rc1-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
==================================================================

Crashes (3):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2020/05/16 21:49 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 37bccd4e .config console log report ci2-upstream-kcsan-gce
2020/03/16 03:38 https://github.com/google/ktsan.git kcsan 941e0d917bbf 749688d2 .config console log report ci2-upstream-kcsan-gce
2020/01/13 03:21 https://github.com/google/ktsan.git kcsan 245a43005292 53faa9fe .config console log report ci2-upstream-kcsan-gce
* Struck through repros no longer work on HEAD.