[moderation] [ext4?] [exfat?] KCSAN: data-race in has_bh_in_lru / invalidate_bh_lru (4)

4 views
Skip to first unread message

syzbot

unread,
Dec 7, 2023, 5:14:24 AM12/7/23
to syzkaller-upst...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: bee0e7762ad2 Merge tag 'for-linus-iommufd' of git://git.ke..
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=16345432e80000
kernel config: https://syzkaller.appspot.com/x/.config?x=ac34c1f29a8029df
dashboard link: https://syzkaller.appspot.com/bug?extid=f0dbfecdd41310fb8735
compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
CC: [adilger...@dilger.ca linki...@kernel.org linux...@vger.kernel.org linux-...@vger.kernel.org linux-...@vger.kernel.org sj155...@samsung.com ty...@mit.edu]

Unfortunately, I don't have any reproducer for this issue yet.

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/233be5f65dd2/disk-bee0e776.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/94423738a289/vmlinux-bee0e776.xz
kernel image: https://storage.googleapis.com/syzbot-assets/0b977463fa9a/bzImage-bee0e776.xz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+f0dbfe...@syzkaller.appspotmail.com

EXT4-fs (loop5): unmounting filesystem 00000000-0000-0000-0000-000000000000.
==================================================================
BUG: KCSAN: data-race in has_bh_in_lru / invalidate_bh_lru

write to 0xffff888237c2a448 of 8 bytes by task 14999 on cpu 0:
__invalidate_bh_lrus fs/buffer.c:1488 [inline]
invalidate_bh_lru+0x88/0xf0 fs/buffer.c:1500
csd_do_func kernel/smp.c:133 [inline]
smp_call_function_many_cond+0x697/0xc20 kernel/smp.c:846
on_each_cpu_cond_mask+0x3c/0x80 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:75 [inline]
set_blocksize+0x260/0x290 block/bdev.c:152
sb_set_blocksize+0x2d/0xb0 block/bdev.c:161
ext4_load_super fs/ext4/super.c:5108 [inline]
__ext4_fill_super fs/ext4/super.c:5236 [inline]
ext4_fill_super+0xad5/0x39a0 fs/ext4/super.c:5712
get_tree_bdev+0x272/0x300 fs/super.c:1598
ext4_get_tree+0x1c/0x20 fs/ext4/super.c:5744
vfs_get_tree+0x51/0x1b0 fs/super.c:1771
do_new_mount+0x203/0x660 fs/namespace.c:3337
path_mount+0x496/0xb30 fs/namespace.c:3664
do_mount fs/namespace.c:3677 [inline]
__do_sys_mount fs/namespace.c:3886 [inline]
__se_sys_mount+0x27f/0x2d0 fs/namespace.c:3863
__x64_sys_mount+0x67/0x80 fs/namespace.c:3863
do_syscall_x64 arch/x86/entry/common.c:51 [inline]
do_syscall_64+0x44/0x110 arch/x86/entry/common.c:82
entry_SYSCALL_64_after_hwframe+0x63/0x6b

read to 0xffff888237c2a448 of 8 bytes by task 3108 on cpu 1:
has_bh_in_lru+0x35/0x1e0 fs/buffer.c:1510
smp_call_function_many_cond+0x2e4/0xc20 kernel/smp.c:808
on_each_cpu_cond_mask+0x3c/0x80 kernel/smp.c:1023
on_each_cpu_cond include/linux/smp.h:105 [inline]
invalidate_bh_lrus+0x2a/0x30 fs/buffer.c:1519
invalidate_bdev+0x4f/0x70 block/bdev.c:85
ext4_put_super+0x51b/0x7e0 fs/ext4/super.c:1361
generic_shutdown_super+0xdb/0x210 fs/super.c:696
kill_block_super+0x2a/0x60 fs/super.c:1667
ext4_kill_sb+0x44/0x80 fs/ext4/super.c:7330
deactivate_locked_super+0x7a/0x1c0 fs/super.c:484
deactivate_super+0x9b/0xb0 fs/super.c:517
cleanup_mnt+0x272/0x2e0 fs/namespace.c:1256
__cleanup_mnt+0x19/0x20 fs/namespace.c:1263
task_work_run+0x135/0x1a0 kernel/task_work.c:180
resume_user_mode_work include/linux/resume_user_mode.h:49 [inline]
exit_to_user_mode_loop+0xd6/0xe0 kernel/entry/common.c:171
exit_to_user_mode_prepare+0x6c/0xb0 kernel/entry/common.c:204
__syscall_exit_to_user_mode_work kernel/entry/common.c:285 [inline]
syscall_exit_to_user_mode+0x26/0x140 kernel/entry/common.c:296
do_syscall_64+0x50/0x110 arch/x86/entry/common.c:88
entry_SYSCALL_64_after_hwframe+0x63/0x6b

value changed: 0xffff8881079127b8 -> 0x0000000000000000

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 PID: 3108 Comm: syz-executor.5 Not tainted 6.7.0-rc4-syzkaller-00009-gbee0e7762ad2 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 11/10/2023
==================================================================
EXT4-fs (loop5): unmounting filesystem 00000000-0000-0000-0000-000000000000.
EXT4-fs (loop5): unmounting filesystem 00000000-0000-0000-0000-000000000000.
EXT4-fs (loop5): unmounting filesystem 00000000-0000-0000-0000-000000000000.
EXT4-fs (loop5): unmounting filesystem 00000000-0000-0000-0000-000000000000.
EXT4-fs (loop5): unmounting filesystem 00000000-0000-0000-0000-000000000000.
EXT4-fs (loop5): unmounting filesystem 00000000-0000-0000-0000-000000000000.


---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzk...@googlegroups.com.

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.

If the report is already addressed, let syzbot know by replying with:
#syz fix: exact-commit-title

If you want to overwrite report's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)

If the report is a duplicate of another one, reply with:
#syz dup: exact-subject-of-another-report

If you want to undo deduplication, reply with:
#syz undup
Reply all
Reply to author
Forward
0 new messages