syzbot


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

Status: moderation: reported on 2024/04/12 21:37
Subsystems: mm
[Documentation on labels]
Reported-by: syzbot+df8f5982632041cfba26@syzkaller.appspotmail.com
First crash: 17d, last: 8d06h
Similar bugs (3)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in __filemap_remove_folio / nr_blockdev_pages (3) mm 26 62d 143d 0/26 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 376d 497d 0/26 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 791d 837d 0/26 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 0xffff8881005f1838 of 8 bytes by task 333 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+0x65/0x80 block/bdev.c:96
 ext4_put_super+0x51b/0x7e0 fs/ext4/super.c:1361
 generic_shutdown_super+0xde/0x210 fs/super.c:641
 kill_block_super+0x2a/0x70 fs/super.c:1675
 ext4_kill_sb+0x44/0x80 fs/ext4/super.c:7327
 deactivate_locked_super+0x7d/0x1c0 fs/super.c:472
 deactivate_super+0x9f/0xb0 fs/super.c:505
 cleanup_mnt+0x272/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+0xda/0x1d0 arch/x86/entry/common.c:89
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

read to 0xffff8881005f1838 of 8 bytes by task 340 on cpu 1:
 nr_blockdev_pages+0x7c/0xd0 block/bdev.c:455
 si_meminfo+0x87/0xd0 mm/show_mem.c:80
 update_defense_level+0x46/0x610 net/netfilter/ipvs/ip_vs_ctl.c:101
 defense_work_handler+0x1f/0x80 net/netfilter/ipvs/ip_vs_ctl.c:235
 process_one_work kernel/workqueue.c:3254 [inline]
 process_scheduled_works+0x465/0x990 kernel/workqueue.c:3335
 worker_thread+0x526/0x730 kernel/workqueue.c:3416
 kthread+0x1d1/0x210 kernel/kthread.c:388
 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: 340 Comm: kworker/1:11 Tainted: G        W          6.9.0-rc5-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024
Workqueue: events_long defense_work_handler
==================================================================

Crashes (3):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/04/22 13:04 upstream ed30a4a51bb1 36c961ad .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/04/15 19:20 upstream 0bbac3facb5d b9af7e61 .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/04/12 21:36 upstream 5939d45155bb c8349e48 .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.