syzbot


KCSAN: data-race in write_cache_pages / write_cache_pages (12)

Status: moderation: reported on 2024/03/07 22:00
Subsystems: fs mm
[Documentation on labels]
Reported-by: syzbot+dec8bb81077145a6fa94@syzkaller.appspotmail.com
First crash: 36d, last: 33d
Similar bugs (11)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in write_cache_pages / write_cache_pages (10) fs mm 26 294d 527d 0/26 auto-obsoleted due to no activity on 2023/07/28 22:24
upstream KCSAN: data-race in write_cache_pages / write_cache_pages (11) fs mm 24 74d 128d 0/26 auto-obsoleted due to no activity on 2024/03/05 07:37
upstream KCSAN: data-race in write_cache_pages / write_cache_pages (5) fs mm 4 854d 896d 0/26 auto-closed as invalid on 2022/01/15 16:41
upstream KCSAN: data-race in write_cache_pages / write_cache_pages (3) fs mm 1 1039d 1039d 0/26 auto-closed as invalid on 2021/07/13 22:52
upstream KCSAN: data-race in write_cache_pages / write_cache_pages (4) fs mm 1 987d 987d 0/26 auto-closed as invalid on 2021/09/04 02:13
upstream KCSAN: data-race in write_cache_pages / write_cache_pages (7) fs mm 1 686d 686d 0/26 auto-closed as invalid on 2022/07/02 07:32
upstream KCSAN: data-race in write_cache_pages / write_cache_pages fs mm 2 1550d 1573d 0/26 auto-closed as invalid on 2020/03/24 21:40
upstream KCSAN: data-race in write_cache_pages / write_cache_pages (9) fs mm 1 567d 567d 0/26 auto-obsoleted due to no activity on 2022/10/29 12:30
upstream KCSAN: data-race in write_cache_pages / write_cache_pages (8) fs mm 2 628d 649d 0/26 auto-closed as invalid on 2022/08/29 06:43
upstream KCSAN: data-race in write_cache_pages / write_cache_pages (2) fs mm 2 1252d 1223d 0/26 auto-closed as invalid on 2020/12/21 11:55
upstream KCSAN: data-race in write_cache_pages / write_cache_pages (6) mm fs 2 742d 769d 0/26 auto-closed as invalid on 2022/05/06 22:51

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

write to 0xffff888100631e78 of 8 bytes by task 3092 on cpu 0:
 write_cache_pages+0x6f3/0x740 mm/page-writeback.c:2527
 blkdev_writepages+0x59/0x90 block/fops.c:426
 do_writepages+0x1c2/0x340 mm/page-writeback.c:2553
 filemap_fdatawrite_wbc+0xdb/0xf0 mm/filemap.c:388
 __filemap_fdatawrite_range mm/filemap.c:421 [inline]
 __filemap_fdatawrite mm/filemap.c:427 [inline]
 filemap_flush+0x95/0xc0 mm/filemap.c:454
 sync_blockdev_nowait+0x36/0x50 block/bdev.c:189
 sync_filesystem+0xe0/0x180 fs/sync.c:60
 generic_shutdown_super+0x42/0x210 fs/super.c:620
 kill_block_super+0x2a/0x60 fs/super.c:1675
 ext4_kill_sb+0x44/0x80 fs/ext4/super.c:7319
 deactivate_locked_super+0x7a/0x1c0 fs/super.c:472
 deactivate_super+0x9b/0xb0 fs/super.c:505
 cleanup_mnt+0x272/0x2e0 fs/namespace.c:1267
 __cleanup_mnt+0x19/0x20 fs/namespace.c:1274
 task_work_run+0x135/0x1a0 kernel/task_work.c:180
 resume_user_mode_work include/linux/resume_user_mode.h:50 [inline]
 exit_to_user_mode_loop kernel/entry/common.c:108 [inline]
 exit_to_user_mode_prepare include/linux/entry-common.h:328 [inline]
 __syscall_exit_to_user_mode_work kernel/entry/common.c:201 [inline]
 syscall_exit_to_user_mode+0xbd/0x120 kernel/entry/common.c:212
 do_syscall_64+0xda/0x1d0 arch/x86/entry/common.c:89
 entry_SYSCALL_64_after_hwframe+0x63/0x6b

write to 0xffff888100631e78 of 8 bytes by task 29963 on cpu 1:
 write_cache_pages+0x6f3/0x740 mm/page-writeback.c:2527
 blkdev_writepages+0x59/0x90 block/fops.c:426
 do_writepages+0x1c2/0x340 mm/page-writeback.c:2553
 __writeback_single_inode+0x91/0x860 fs/fs-writeback.c:1625
 writeback_sb_inodes+0x514/0xad0 fs/fs-writeback.c:1916
 __writeback_inodes_wb+0x9a/0x1a0 fs/fs-writeback.c:1987
 wb_writeback+0x264/0x6e0 fs/fs-writeback.c:2094
 wb_check_background_flush fs/fs-writeback.c:2164 [inline]
 wb_do_writeback fs/fs-writeback.c:2252 [inline]
 wb_workfn+0x67f/0x8d0 fs/fs-writeback.c:2279
 process_one_work kernel/workqueue.c:2633 [inline]
 process_scheduled_works+0x5b8/0xa40 kernel/workqueue.c:2706
 worker_thread+0x525/0x730 kernel/workqueue.c:2787
 kthread+0x1d7/0x210 kernel/kthread.c:388
 ret_from_fork+0x48/0x60 arch/x86/kernel/process.c:147
 ret_from_fork_asm+0x11/0x20 arch/x86/entry/entry_64.S:243

value changed: 0x0000000000000000 -> 0x0000000000000029

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 PID: 29963 Comm: kworker/u4:0 Not tainted 6.8.0-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/29/2024
Workqueue: writeback wb_workfn (flush-7:4)
==================================================================

Crashes (3):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/03/11 18:52 upstream e8f897f4afef 6ee49f2e .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in write_cache_pages / write_cache_pages
2024/03/10 04:45 upstream 09e5c48fea17 6ee49f2e .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in write_cache_pages / write_cache_pages
2024/03/07 22:00 upstream 135288b73cef 2b789849 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in write_cache_pages / write_cache_pages
* Struck through repros no longer work on HEAD.