syzbot


KCSAN: data-race in has_bh_in_lru / invalidate_bh_lrus_cpu (10)

Status: moderation: reported on 2024/04/12 23:40
Subsystems: fs
[Documentation on labels]
Reported-by: syzbot+83984717e9e47eb21ba3@syzkaller.appspotmail.com
First crash: 17d, last: 17d
Similar bugs (9)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in has_bh_in_lru / invalidate_bh_lrus_cpu (3) fs 1 565d 565d 0/26 auto-obsoleted due to no activity on 2022/11/16 21:51
upstream KCSAN: data-race in has_bh_in_lru / invalidate_bh_lrus_cpu (5) fs 2 371d 382d 0/26 auto-obsoleted due to no activity on 2023/05/30 05:48
upstream KCSAN: data-race in has_bh_in_lru / invalidate_bh_lrus_cpu (7) ext4 3 197d 224d 0/26 auto-obsoleted due to no activity on 2023/11/20 11:49
upstream KCSAN: data-race in has_bh_in_lru / invalidate_bh_lrus_cpu (9) fs 1 101d 101d 0/26 auto-obsoleted due to no activity on 2024/02/23 17:16
upstream KCSAN: data-race in has_bh_in_lru / invalidate_bh_lrus_cpu (6) ext4 1 261d 261d 0/26 auto-obsoleted due to no activity on 2023/09/17 01:43
upstream KCSAN: data-race in has_bh_in_lru / invalidate_bh_lrus_cpu (2) fs 14 610d 816d 0/26 auto-closed as invalid on 2022/10/03 06:12
upstream KCSAN: data-race in has_bh_in_lru / invalidate_bh_lrus_cpu (8) ext4 1 152d 140d 0/26 auto-obsoleted due to no activity on 2024/01/04 10:47
upstream KCSAN: data-race in has_bh_in_lru / invalidate_bh_lrus_cpu ext4 137 889d 1047d 0/26 auto-closed as invalid on 2021/12/28 13:59
upstream KCSAN: data-race in has_bh_in_lru / invalidate_bh_lrus_cpu (4) ext4 3 476d 527d 0/26 auto-obsoleted due to no activity on 2023/03/11 22:09

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

write to 0xffff888237c2b990 of 8 bytes by task 3753 on cpu 0:
 __invalidate_bh_lrus fs/buffer.c:1488 [inline]
 invalidate_bh_lrus_cpu+0x85/0xc0 fs/buffer.c:1533
 lru_add_and_bh_lrus_drain mm/swap.c:783 [inline]
 lru_add_drain_per_cpu+0x62/0x80 mm/swap.c:802
 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

read to 0xffff888237c2b990 of 8 bytes by task 19401 on cpu 1:
 has_bh_in_lru+0x35/0x1f0 fs/buffer.c:1510
 smp_call_function_many_cond+0x2f6/0xc50 kernel/smp.c:808
 on_each_cpu_cond_mask+0x3c/0x90 kernel/smp.c:1023
 on_each_cpu_cond include/linux/smp.h:105 [inline]
 invalidate_bh_lrus+0x2a/0x30 fs/buffer.c:1519
 kill_bdev block/bdev.c:84 [inline]
 blkdev_flush_mapping+0xb8/0x1c0 block/bdev.c:644
 blkdev_put_whole block/bdev.c:675 [inline]
 bdev_release+0x2f4/0x410 block/bdev.c:1066
 blkdev_release+0x15/0x20 block/fops.c:628
 __fput+0x2c1/0x660 fs/file_table.c:422
 ____fput+0x15/0x20 fs/file_table.c:450
 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

value changed: 0xffff8881088f3820 -> 0x0000000000000000

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 PID: 19401 Comm: syz-executor.3 Not tainted 6.9.0-rc3-syzkaller-00286-g5939d45155bb #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024
==================================================================
EXT4-fs (loop3): unmounting filesystem 00000000-0000-0000-0000-000000000000.
EXT4-fs (loop3): unmounting filesystem 00000000-0000-0000-0000-000000000000.

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/04/12 23:40 upstream 5939d45155bb c8349e48 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in has_bh_in_lru / invalidate_bh_lrus_cpu
* Struck through repros no longer work on HEAD.