syzbot


KCSAN: data-race in __filemap_remove_folio / nr_blockdev_pages (5)

Status: moderation: reported on 2024/07/03 09:13
Subsystems: mm
[Documentation on labels]
Reported-by: syzbot+153fd6da483deb37bc3e@syzkaller.appspotmail.com
First crash: 9d23h, last: 2d23h
Similar bugs (4)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in __filemap_remove_folio / nr_blockdev_pages (4) mm 5 59d 91d 0/27 auto-obsoleted due to no activity on 2024/06/18 09:41
upstream KCSAN: data-race in __filemap_remove_folio / nr_blockdev_pages (3) mm 26 135d 217d 0/27 auto-obsoleted due to no activity on 2024/04/03 15:08
upstream KCSAN: data-race in __filemap_remove_folio / nr_blockdev_pages (2) mm 6 450d 570d 0/27 auto-obsoleted due to no activity on 2023/05/25 03:03
upstream KCSAN: data-race in __filemap_remove_folio / nr_blockdev_pages block 4 864d 910d 0/27 auto-closed as invalid on 2022/04/05 12:28

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

read-write to 0xffff8881004c1838 of 8 bytes by task 3080 on cpu 0:
 page_cache_delete mm/filemap.c:154 [inline]
 __filemap_remove_folio+0x1c5/0x2c0 mm/filemap.c:232
 __remove_mapping+0x341/0x470 mm/vmscan.c:762
 remove_mapping+0x22/0x90 mm/vmscan.c:795
 mapping_evict_folio mm/truncate.c:293 [inline]
 mapping_try_invalidate+0x288/0x3e0 mm/truncate.c:511
 invalidate_mapping_pages+0x27/0x40 mm/truncate.c:549
 invalidate_bdev+0x58/0x70 block/bdev.c:101
 ext4_put_super+0x51b/0x7e0 fs/ext4/super.c:1345
 generic_shutdown_super+0xde/0x210 fs/super.c:642
 kill_block_super+0x2a/0x70 fs/super.c:1685
 ext4_kill_sb+0x44/0x80 fs/ext4/super.c:7301
 deactivate_locked_super+0x7d/0x1c0 fs/super.c:473
 deactivate_super+0x9f/0xb0 fs/super.c:506
 cleanup_mnt+0x268/0x2e0 fs/namespace.c:1267
 __cleanup_mnt+0x19/0x20 fs/namespace.c:1274
 task_work_run+0x13a/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:114 [inline]
 exit_to_user_mode_prepare include/linux/entry-common.h:328 [inline]
 __syscall_exit_to_user_mode_work kernel/entry/common.c:207 [inline]
 syscall_exit_to_user_mode+0xbe/0x130 kernel/entry/common.c:218
 do_syscall_64+0xd6/0x1c0 arch/x86/entry/common.c:89
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

read to 0xffff8881004c1838 of 8 bytes by task 35 on cpu 1:
 nr_blockdev_pages+0x7c/0xd0 block/bdev.c:475
 si_meminfo+0x87/0xd0 mm/show_mem.c:80
 update_defense_level+0x49/0x5b0 net/netfilter/ipvs/ip_vs_ctl.c:102
 defense_work_handler+0x1f/0x80 net/netfilter/ipvs/ip_vs_ctl.c:235
 process_one_work kernel/workqueue.c:3248 [inline]
 process_scheduled_works+0x483/0x9a0 kernel/workqueue.c:3329
 worker_thread+0x526/0x720 kernel/workqueue.c:3409
 kthread+0x1d1/0x210 kernel/kthread.c:389
 ret_from_fork+0x4b/0x60 arch/x86/kernel/process.c:147
 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244

value changed: 0x0000000000000004 -> 0x0000000000000002

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 PID: 35 Comm: kworker/1:1 Not tainted 6.10.0-rc7-syzkaller-00012-g34afb82a3c67 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/07/2024
Workqueue: events_long defense_work_handler
==================================================================

Crashes (4):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/07/10 09:13 upstream 34afb82a3c67 bc144f9a .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __filemap_remove_folio / nr_blockdev_pages
2024/07/09 00:16 upstream 4376e966ecb7 cde64f7d .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __filemap_remove_folio / nr_blockdev_pages
2024/07/08 13:47 upstream 256abd8e550c cde64f7d .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __filemap_remove_folio / nr_blockdev_pages
2024/07/03 09:12 upstream e9d22f7a6655 1ecfa2d8 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __filemap_remove_folio / nr_blockdev_pages
* Struck through repros no longer work on HEAD.