================================================================== BUG: KCSAN: data-race in __wb_update_bandwidth / percpu_counter_add_batch write to 0xffff888102893140 of 8 bytes by interrupt on cpu 1: percpu_counter_add_batch+0x9c/0xd0 lib/percpu_counter.c:91 __add_wb_stat include/linux/backing-dev.h:70 [inline] inc_wb_stat include/linux/backing-dev.h:75 [inline] __wb_writeout_inc mm/page-writeback.c:592 [inline] test_clear_page_writeback+0x37c/0x600 mm/page-writeback.c:2789 end_page_writeback+0xd7/0x1b0 mm/filemap.c:1603 ext4_finish_bio+0x3e2/0x430 fs/ext4/page-io.c:143 ext4_end_bio+0x1bc/0x310 bio_endio+0x2e4/0x310 block/bio.c:1494 req_bio_endio block/blk-core.c:261 [inline] blk_update_request+0x435/0xa40 block/blk-core.c:1425 scsi_end_request+0x4b/0x440 drivers/scsi/scsi_lib.c:542 scsi_io_completion+0xd0/0x10c0 drivers/scsi/scsi_lib.c:938 scsi_finish_command+0x1ba/0x1d0 drivers/scsi/scsi.c:207 scsi_complete+0x1aa/0x1e0 drivers/scsi/scsi_lib.c:1432 blk_complete_reqs block/blk-mq.c:577 [inline] blk_done_softirq+0x69/0x90 block/blk-mq.c:582 __do_softirq+0x12c/0x26e kernel/softirq.c:558 invoke_softirq kernel/softirq.c:432 [inline] __irq_exit_rcu kernel/softirq.c:636 [inline] irq_exit_rcu+0x4e/0xa0 kernel/softirq.c:648 common_interrupt+0x78/0x90 arch/x86/kernel/irq.c:240 asm_common_interrupt+0x1e/0x40 check_access kernel/kcsan/core.c:631 [inline] __tsan_read8+0x108/0x180 kernel/kcsan/core.c:855 EXT4_SB fs/ext4/ext4.h:1758 [inline] __ext4_mark_inode_dirty+0x5c/0x5c0 fs/ext4/inode.c:5866 ext4_dirty_inode+0x86/0xa0 fs/ext4/inode.c:5908 __mark_inode_dirty+0x77/0x6a0 fs/fs-writeback.c:2398 mark_inode_dirty include/linux/fs.h:2452 [inline] generic_write_end+0x157/0x180 fs/buffer.c:2202 ext4_da_write_end+0x4cc/0x5e0 fs/ext4/inode.c:3062 generic_perform_write+0x251/0x3e0 mm/filemap.c:3781 ext4_buffered_write_iter+0x305/0x400 fs/ext4/file.c:269 ext4_file_write_iter+0x2e7/0x11f0 call_write_iter include/linux/fs.h:2163 [inline] aio_write+0x2b4/0x390 fs/aio.c:1578 io_submit_one+0x86f/0x13b0 fs/aio.c:1880 __do_sys_io_submit fs/aio.c:1939 [inline] __se_sys_io_submit+0x105/0x270 fs/aio.c:1909 __x64_sys_io_submit+0x3f/0x50 fs/aio.c:1909 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x44/0xa0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x44/0xae read to 0xffff888102893140 of 8 bytes by task 11874 on cpu 0: percpu_counter_read include/linux/percpu_counter.h:72 [inline] __wb_update_bandwidth+0x9f/0x470 mm/page-writeback.c:1353 wb_update_bandwidth mm/page-writeback.c:1380 [inline] do_writepages+0x391/0x3c0 mm/page-writeback.c:2379 filemap_fdatawrite_wbc mm/filemap.c:400 [inline] __filemap_fdatawrite_range mm/filemap.c:433 [inline] __filemap_fdatawrite mm/filemap.c:439 [inline] filemap_flush+0x154/0x180 mm/filemap.c:466 ext4_alloc_da_blocks+0x47/0xd0 fs/ext4/inode.c:3106 ext4_release_file+0x5b/0x1d0 fs/ext4/file.c:141 __fput+0x295/0x520 fs/file_table.c:280 ____fput+0x11/0x20 fs/file_table.c:313 task_work_run+0xae/0x130 kernel/task_work.c:164 tracehook_notify_resume include/linux/tracehook.h:189 [inline] exit_to_user_mode_loop kernel/entry/common.c:175 [inline] exit_to_user_mode_prepare+0x156/0x190 kernel/entry/common.c:207 __syscall_exit_to_user_mode_work kernel/entry/common.c:289 [inline] syscall_exit_to_user_mode+0x20/0x40 kernel/entry/common.c:300 do_syscall_64+0x50/0xa0 arch/x86/entry/common.c:86 entry_SYSCALL_64_after_hwframe+0x44/0xae value changed: 0x00000000001ac6f0 -> 0x00000000001ac700 Reported by Kernel Concurrency Sanitizer on: CPU: 0 PID: 11874 Comm: syz-executor.4 Tainted: G W 5.15.0-rc5-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 ==================================================================