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

0 views
Skip to first unread message

syzbot

unread,
Jun 25, 2024, 2:23:30 PM (4 days ago) Jun 25
to syzkaller-upst...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: 55027e689933 Merge tag 'input-for-v6.10-rc5' of git://git...
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=13798da6980000
kernel config: https://syzkaller.appspot.com/x/.config?x=7e87b541dc1fc960
dashboard link: https://syzkaller.appspot.com/bug?extid=fd3d1af0dd39b0e4fed1
compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
CC: [adilger...@dilger.ca linux...@vger.kernel.org linux-...@vger.kernel.org ty...@mit.edu]

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

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/12deab70203e/disk-55027e68.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/29d492adc137/vmlinux-55027e68.xz
kernel image: https://storage.googleapis.com/syzbot-assets/f5d493b5e976/bzImage-55027e68.xz

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

loop2: detected capacity change from 0 to 1764
==================================================================
BUG: KCSAN: data-race in has_bh_in_lru / invalidate_bh_lru

write to 0xffff888237c2b990 of 8 bytes by task 12009 on cpu 0:
__invalidate_bh_lrus fs/buffer.c:1511 [inline]
invalidate_bh_lru+0x8b/0xf0 fs/buffer.c:1523
csd_do_func kernel/smp.c:133 [inline]
smp_call_function_many_cond+0x690/0xc20 kernel/smp.c:846
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:1542
invalidate_bdev+0x42/0x70 block/bdev.c:99
__ext4_fill_super fs/ext4/super.c:5651 [inline]
ext4_fill_super+0x6f3/0x39e0 fs/ext4/super.c:5676
get_tree_bdev+0x253/0x2e0 fs/super.c:1615
ext4_get_tree+0x1c/0x30 fs/ext4/super.c:5708
vfs_get_tree+0x56/0x1d0 fs/super.c:1780
do_new_mount+0x227/0x690 fs/namespace.c:3352
path_mount+0x49b/0xb30 fs/namespace.c:3679
do_mount fs/namespace.c:3692 [inline]
__do_sys_mount fs/namespace.c:3898 [inline]
__se_sys_mount+0x27f/0x2d0 fs/namespace.c:3875
__x64_sys_mount+0x67/0x80 fs/namespace.c:3875
x64_sys_call+0x25c9/0x2d70 arch/x86/include/generated/asm/syscalls_64.h:166
do_syscall_x64 arch/x86/entry/common.c:52 [inline]
do_syscall_64+0xc9/0x1c0 arch/x86/entry/common.c:83
entry_SYSCALL_64_after_hwframe+0x77/0x7f

read to 0xffff888237c2b990 of 8 bytes by task 12010 on cpu 1:
has_bh_in_lru+0x35/0x1f0 fs/buffer.c:1533
smp_call_function_many_cond+0x2d5/0xc20 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:1542
kill_bdev block/bdev.c:89 [inline]
set_blocksize+0x283/0x2b0 block/bdev.c:172
sb_set_blocksize+0x2c/0xb0 block/bdev.c:181
isofs_fill_super+0xa2a/0x12a0 fs/isofs/inode.c:824
get_tree_bdev+0x253/0x2e0 fs/super.c:1615
isofs_get_tree+0x1c/0x30 fs/isofs/inode.c:1534
vfs_get_tree+0x56/0x1d0 fs/super.c:1780
do_new_mount+0x227/0x690 fs/namespace.c:3352
path_mount+0x49b/0xb30 fs/namespace.c:3679
do_mount fs/namespace.c:3692 [inline]
__do_sys_mount fs/namespace.c:3898 [inline]
__se_sys_mount+0x27f/0x2d0 fs/namespace.c:3875
__x64_sys_mount+0x67/0x80 fs/namespace.c:3875
x64_sys_call+0x25c9/0x2d70 arch/x86/include/generated/asm/syscalls_64.h:166
do_syscall_x64 arch/x86/entry/common.c:52 [inline]
do_syscall_64+0xc9/0x1c0 arch/x86/entry/common.c:83
entry_SYSCALL_64_after_hwframe+0x77/0x7f

value changed: 0xffff888123dfa068 -> 0x0000000000000000

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 PID: 12010 Comm: syz.2.2584 Tainted: G W 6.10.0-rc5-syzkaller-00018-g55027e689933 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/07/2024
==================================================================
ISOFS: root inode is unusable. Disabling Rock Ridge and switching to Joliet.
ISOFS: unable to read i-node block
isofs_fill_super: get root inode failed
team0: Port device team_slave_0 removed


---
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