syzbot


KCSAN: data-race in mlock_folio / need_mlock_page_drain (2)

Status: auto-obsoleted due to no activity on 2022/11/20 16:21
Subsystems: mm
[Documentation on labels]
First crash: 557d, last: 557d
Similar bugs (1)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in mlock_folio / need_mlock_page_drain mm 1 683d 683d 0/26 auto-closed as invalid on 2022/07/18 06:52

Sample crash report:
==================================================================
BUG: KCSAN: data-race in mlock_folio / need_mlock_page_drain

read-write to 0xffff888237d27ee0 of 1 bytes by task 25381 on cpu 1:
 pagevec_add include/linux/pagevec.h:64 [inline]
 mlock_folio+0x145/0x210 mm/mlock.c:258
 mlock_vma_folio mm/internal.h:522 [inline]
 mlock_vma_page mm/internal.h:528 [inline]
 page_add_file_rmap+0x10b/0x1b0 mm/rmap.c:1333
 do_set_pte+0x258/0x500 mm/memory.c:4347
 filemap_map_pages+0x4d4/0x890 mm/filemap.c:3388
 do_fault_around mm/memory.c:4523 [inline]
 do_read_fault mm/memory.c:4549 [inline]
 do_fault+0x421/0xaf0 mm/memory.c:4683
 handle_pte_fault mm/memory.c:4955 [inline]
 __handle_mm_fault mm/memory.c:5097 [inline]
 handle_mm_fault+0x877/0xa80 mm/memory.c:5218
 faultin_page mm/gup.c:1009 [inline]
 __get_user_pages+0x32a/0xbf0 mm/gup.c:1230
 populate_vma_page_range mm/gup.c:1587 [inline]
 __mm_populate+0x281/0x380 mm/gup.c:1701
 mm_populate include/linux/mm.h:2744 [inline]
 vm_mmap_pgoff+0x160/0x1f0 mm/util.c:525
 ksys_mmap_pgoff+0x265/0x320 mm/mmap.c:1457
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x2b/0x70 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x63/0xcd

read to 0xffff888237d27ee0 of 1 bytes by task 25372 on cpu 0:
 pagevec_count include/linux/pagevec.h:51 [inline]
 need_mlock_page_drain+0x2c/0x50 mm/mlock.c:236
 cpu_needs_drain mm/swap.c:822 [inline]
 __lru_add_drain_all+0x24e/0x3c0 mm/swap.c:910
 lru_add_drain_all+0xc/0x10 mm/swap.c:926
 invalidate_bdev+0x56/0x80 block/bdev.c:86
 invalidate_disk+0x25/0xb0 block/genhd.c:680
 __loop_clr_fd+0x176/0x3c0 drivers/block/loop.c:1164
 loop_clr_fd drivers/block/loop.c:1257 [inline]
 lo_ioctl+0xd8c/0x1290 drivers/block/loop.c:1563
 blkdev_ioctl+0x20e/0x440 block/ioctl.c:614
 vfs_ioctl fs/ioctl.c:51 [inline]
 __do_sys_ioctl fs/ioctl.c:870 [inline]
 __se_sys_ioctl+0xcb/0x140 fs/ioctl.c:856
 __x64_sys_ioctl+0x3f/0x50 fs/ioctl.c:856
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x2b/0x70 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x63/0xcd

value changed: 0x0d -> 0x07

Reported by Kernel Concurrency Sanitizer on:
CPU: 0 PID: 25372 Comm: syz-executor.5 Not tainted 6.0.0-syzkaller-12196-g1501278bb7ba-dirty #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/22/2022
==================================================================

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2022/10/16 16:12 upstream 1501278bb7ba 67cb024c .config console log report info [disk image] [vmlinux] ci2-upstream-kcsan-gce KCSAN: data-race in mlock_folio / need_mlock_page_drain
* Struck through repros no longer work on HEAD.