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: fs mm
[Documentation on labels]
Reported-by: syzbot+6f43371b62882ee50909@syzkaller.appspotmail.com
First crash: 46d, last: 4d21h
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 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 1 323d 323d 0/28 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 1 1042d 1042d 0/28 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 128 382d 526d 0/28 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 1 1120d 1120d 0/28 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 1 1951d 1951d 0/28 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 104d 241d 0/28 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 0xffff888119a27558 of 8 bytes by task 19822 on cpu 0:
 mem_cgroup_track_foreign_dirty_slowpath+0x321/0x440 mm/memcontrol.c:3368
 mem_cgroup_track_foreign_dirty include/linux/memcontrol.h:1585 [inline]
 folio_account_dirtied mm/page-writeback.c:2725 [inline]
 __folio_mark_dirty+0x3f0/0x4c0 mm/page-writeback.c:2766
 mark_buffer_dirty+0x11e/0x210 fs/buffer.c:1209
 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:6242
 do_page_mkwrite mm/memory.c:3287 [inline]
 do_shared_fault mm/memory.c:5594 [inline]
 do_fault mm/memory.c:5656 [inline]
 do_pte_missing mm/memory.c:4160 [inline]
 handle_pte_fault mm/memory.c:5997 [inline]
 __handle_mm_fault mm/memory.c:6140 [inline]
 handle_mm_fault+0x1733/0x2ae0 mm/memory.c:6309
 do_user_addr_fault+0x636/0x1090 arch/x86/mm/fault.c:1337
 handle_page_fault arch/x86/mm/fault.c:1480 [inline]
 exc_page_fault+0x54/0xc0 arch/x86/mm/fault.c:1538
 asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:623

read to 0xffff888119a27558 of 8 bytes by task 19823 on cpu 1:
 mem_cgroup_track_foreign_dirty_slowpath+0xd5/0x440 mm/memcontrol.c:3348
 mem_cgroup_track_foreign_dirty include/linux/memcontrol.h:1585 [inline]
 folio_account_dirtied mm/page-writeback.c:2725 [inline]
 __folio_mark_dirty+0x3f0/0x4c0 mm/page-writeback.c:2766
 mark_buffer_dirty+0x11e/0x210 fs/buffer.c:1209
 block_commit_write fs/buffer.c:2224 [inline]
 block_write_end+0x12e/0x210 fs/buffer.c:2301
 ext4_write_end+0x13a/0x730 fs/ext4/inode.c:1309
 ext4_da_write_end+0x71/0x7b0 fs/ext4/inode.c:3079
 generic_perform_write+0x30f/0x490 mm/filemap.c:4124
 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:591 [inline]
 vfs_write+0x49d/0x8d0 fs/read_write.c:684
 ksys_write+0xda/0x1a0 fs/read_write.c:736
 __do_sys_write fs/read_write.c:747 [inline]
 __se_sys_write fs/read_write.c:744 [inline]
 __x64_sys_write+0x40/0x50 fs/read_write.c:744
 x64_sys_call+0x2cdd/0x2fb0 arch/x86/include/generated/asm/syscalls_64.h:2
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0xd0/0x1a0 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

value changed: 0x0000000100000525 -> 0x0000000100000764

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 UID: 0 PID: 19823 Comm: syz.3.5074 Not tainted 6.15.0-rc5-syzkaller-00353-gcd802e7e5f1e #0 PREEMPT(voluntary) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/19/2025
==================================================================

Crashes (3):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
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.