syzbot


KCSAN: data-race in __lru_add_drain_all / folios_put_refs

Status: moderation: reported on 2024/04/07 23:10
Subsystems: mm
[Documentation on labels]
Reported-by: syzbot+ec770cf118c16e8397fa@syzkaller.appspotmail.com
First crash: 22d, last: 52m

Sample crash report:
loop4: detected capacity change from 0 to 1024
EXT4-fs (loop4): ext4_check_descriptors: Inode bitmap for group 0 overlaps superblock
EXT4-fs (loop4): group descriptors corrupted!
==================================================================
BUG: KCSAN: data-race in __lru_add_drain_all / folios_put_refs

write to 0xffff888237c2ac08 of 1 bytes by task 13578 on cpu 0:
 folio_batch_reinit include/linux/pagevec.h:50 [inline]
 folios_put_refs+0x266/0x2b0 mm/swap.c:1028
 folios_put include/linux/mm.h:1567 [inline]
 folio_batch_move_lru+0x298/0x2c0 mm/swap.c:240
 lru_add_drain_cpu+0x77/0x260 mm/swap.c:667
 lru_add_drain+0x26/0x80 mm/swap.c:767
 unmap_region+0x73/0x230 mm/mmap.c:2307
 do_vmi_align_munmap+0x650/0x9c0 mm/mmap.c:2628
 do_vmi_munmap+0x1eb/0x230 mm/mmap.c:2696
 mmap_region+0x523/0x1550 mm/mmap.c:2747
 do_mmap+0x6a6/0xac0 mm/mmap.c:1385
 vm_mmap_pgoff+0x12f/0x250 mm/util.c:573
 ksys_mmap_pgoff+0xc6/0x340 mm/mmap.c:1431
 x64_sys_call+0x1815/0x2d30 arch/x86/include/generated/asm/syscalls_64.h:10
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0xcd/0x1d0 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

read to 0xffff888237c2ac08 of 1 bytes by task 13576 on cpu 1:
 folio_batch_count include/linux/pagevec.h:56 [inline]
 cpu_needs_drain mm/swap.c:810 [inline]
 __lru_add_drain_all+0x137/0x420 mm/swap.c:904
 lru_add_drain_all+0x10/0x20 mm/swap.c:920
 invalidate_bdev+0x54/0x80 block/bdev.c:95
 __ext4_fill_super fs/ext4/super.c:5674 [inline]
 ext4_fill_super+0x1788/0x39d0 fs/ext4/super.c:5699
 get_tree_bdev+0x253/0x2e0 fs/super.c:1614
 ext4_get_tree+0x1c/0x30 fs/ext4/super.c:5731
 vfs_get_tree+0x56/0x1d0 fs/super.c:1779
 do_new_mount+0x227/0x690 fs/namespace.c:3352
 path_mount+0x49b/0xb30 fs/namespace.c:3679
 do_mount fs/namespace.c:3692 [inline]
 __do_sys_mount fs/namespace.c:3898 [inline]
 __se_sys_mount+0x27f/0x2d0 fs/namespace.c:3875
 __x64_sys_mount+0x67/0x80 fs/namespace.c:3875
 x64_sys_call+0x2591/0x2d30 arch/x86/include/generated/asm/syscalls_64.h:166
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0xcd/0x1d0 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

value changed: 0x01 -> 0x00

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 PID: 13576 Comm: syz-executor.4 Tainted: G        W          6.9.0-rc6-syzkaller-00022-g98369dccd2f8 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024
==================================================================

Crashes (8):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/04/30 10:29 upstream 98369dccd2f8 f10afd69 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folios_put_refs
2024/04/27 09:43 upstream 5eb4573ea63d 07b455f9 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folios_put_refs
2024/04/18 23:56 upstream 2668e3ae2ef3 af24b050 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folios_put_refs
2024/04/17 18:43 upstream 4b6b51322118 acc528cb .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folios_put_refs
2024/04/16 23:58 upstream 96fca68c4fbf 18f6e127 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folios_put_refs
2024/04/16 09:11 upstream 96fca68c4fbf 0d592ce4 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folios_put_refs
2024/04/15 13:20 upstream 0bbac3facb5d b9af7e61 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folios_put_refs
2024/04/07 23:10 upstream 9fe30842a90b ca620dd8 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folios_put_refs
* Struck through repros no longer work on HEAD.