syzbot


KCSAN: data-race in mem_cgroup_track_foreign_dirty_slowpath / mem_cgroup_track_foreign_dirty_slowpath (7)

Status: upstream: reported on 2025/04/01 09:40
Subsystems: mm
[Documentation on labels]
Reported-by: syzbot+6f43371b62882ee50909@syzkaller.appspotmail.com
First crash: 106d, last: 32d
Discussions (1)
Title Replies (including bot) Last reply
[syzbot] [fs?] [mm?] KCSAN: data-race in mem_cgroup_track_foreign_dirty_slowpath / mem_cgroup_track_foreign_dirty_slowpath (7) 0 (1) 2025/04/01 09:40
Similar bugs (6)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in mem_cgroup_track_foreign_dirty_slowpath / mem_cgroup_track_foreign_dirty_slowpath (5) fs mm 6 1 383d 383d 0/29 auto-obsoleted due to no activity on 2024/08/02 02:51
upstream KCSAN: data-race in mem_cgroup_track_foreign_dirty_slowpath / mem_cgroup_track_foreign_dirty_slowpath (3) fs mm 6 1 1102d 1102d 0/29 auto-closed as invalid on 2022/08/13 15:03
upstream KCSAN: data-race in mem_cgroup_track_foreign_dirty_slowpath / mem_cgroup_track_foreign_dirty_slowpath (4) fs mm 6 128 443d 586d 0/29 auto-obsoleted due to no activity on 2024/06/03 11:30
upstream KCSAN: data-race in mem_cgroup_track_foreign_dirty_slowpath / mem_cgroup_track_foreign_dirty_slowpath (2) fs mm 6 1 1180d 1180d 0/29 auto-closed as invalid on 2022/05/27 17:05
upstream KCSAN: data-race in mem_cgroup_track_foreign_dirty_slowpath / mem_cgroup_track_foreign_dirty_slowpath cgroups mm 6 1 2012d 2012d 0/29 auto-closed as invalid on 2020/03/22 09:49
upstream KCSAN: data-race in mem_cgroup_track_foreign_dirty_slowpath / mem_cgroup_track_foreign_dirty_slowpath (6) fs mm 6 6 164d 301d 0/29 auto-obsoleted due to no activity on 2025/03/29 19:42

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

write to 0xffff8881001b9658 of 8 bytes by task 12038 on cpu 1:
 mem_cgroup_track_foreign_dirty_slowpath+0x321/0x440 mm/memcontrol.c:3484
 mem_cgroup_track_foreign_dirty include/linux/memcontrol.h:1565 [inline]
 folio_account_dirtied mm/page-writeback.c:2702 [inline]
 __folio_mark_dirty+0x3f8/0x4d0 mm/page-writeback.c:2743
 mark_buffer_dirty+0x11e/0x210 fs/buffer.c:1212
 block_commit_write fs/buffer.c:2224 [inline]
 block_page_mkwrite+0x287/0x3d0 fs/buffer.c:2650
 ext4_page_mkwrite+0x76b/0xba0 fs/ext4/inode.c:6598
 do_page_mkwrite mm/memory.c:3378 [inline]
 do_shared_fault mm/memory.c:5686 [inline]
 do_fault mm/memory.c:5748 [inline]
 do_pte_missing mm/memory.c:4251 [inline]
 handle_pte_fault mm/memory.c:6089 [inline]
 __handle_mm_fault mm/memory.c:6232 [inline]
 handle_mm_fault+0x15cb/0x2be0 mm/memory.c:6401
 do_user_addr_fault+0x636/0x1090 arch/x86/mm/fault.c:1336
 handle_page_fault arch/x86/mm/fault.c:1476 [inline]
 exc_page_fault+0x62/0xa0 arch/x86/mm/fault.c:1532
 asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:623

read to 0xffff8881001b9658 of 8 bytes by task 12039 on cpu 0:
 mem_cgroup_track_foreign_dirty_slowpath+0xd5/0x440 mm/memcontrol.c:3464
 mem_cgroup_track_foreign_dirty include/linux/memcontrol.h:1565 [inline]
 folio_account_dirtied mm/page-writeback.c:2702 [inline]
 __folio_mark_dirty+0x3f8/0x4d0 mm/page-writeback.c:2743
 mark_buffer_dirty+0x11e/0x210 fs/buffer.c:1212
 folio_zero_new_buffers+0x28c/0x2e0 fs/buffer.c:2038
 block_write_end+0x201/0x210 fs/buffer.c:2296
 ext4_write_end+0x13a/0x730 fs/ext4/inode.c:1427
 ext4_da_write_end+0x70/0x810 fs/ext4/inode.c:3208
 generic_perform_write+0x30f/0x490 mm/filemap.c:4133
 ext4_buffered_write_iter+0x1ee/0x3c0 fs/ext4/file.c:299
 ext4_file_write_iter+0x383/0xf00 fs/ext4/file.c:-1
 new_sync_write fs/read_write.c:593 [inline]
 vfs_write+0x49d/0x8e0 fs/read_write.c:686
 ksys_pwrite64 fs/read_write.c:793 [inline]
 __do_sys_pwrite64 fs/read_write.c:801 [inline]
 __se_sys_pwrite64 fs/read_write.c:798 [inline]
 __x64_sys_pwrite64+0xfd/0x150 fs/read_write.c:798
 x64_sys_call+0xe45/0x2fb0 arch/x86/include/generated/asm/syscalls_64.h:19
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0xd2/0x200 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

value changed: 0x00000000ffffcc78 -> 0x00000000ffffcce6

Reported by Kernel Concurrency Sanitizer on:
CPU: 0 UID: 0 PID: 12039 Comm: syz.4.2169 Not tainted 6.16.0-rc1-syzkaller-00157-g02adc1490e6d #0 PREEMPT(voluntary) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025
==================================================================
EXT4-fs error (device loop4): ext4_mb_mark_diskspace_used:4113: comm syz.4.2169: Allocating blocks 497-513 which overlap fs metadata

Crashes (4):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/06/13 23:01 upstream 02adc1490e6d 98683f8f .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in mem_cgroup_track_foreign_dirty_slowpath / mem_cgroup_track_foreign_dirty_slowpath
2025/05/12 09:50 upstream cd802e7e5f1e 77908e5f .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in mem_cgroup_track_foreign_dirty_slowpath / mem_cgroup_track_foreign_dirty_slowpath
2025/04/15 15:56 upstream 834a4a689699 23b969b7 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in mem_cgroup_track_foreign_dirty_slowpath / mem_cgroup_track_foreign_dirty_slowpath
2025/04/01 04:33 upstream 1e7857b28020 36d76a97 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in mem_cgroup_track_foreign_dirty_slowpath / mem_cgroup_track_foreign_dirty_slowpath
* Struck through repros no longer work on HEAD.