Hello,
syzbot found the following issue on:
HEAD commit: 99bd3cb0d12e Merge tag 'bcachefs-2024-02-05' of https://ev..
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=16629540180000
kernel config: https://syzkaller.appspot.com/x/.config?x=89a5d896b14c4565
dashboard link: https://syzkaller.appspot.com/bug?extid=e017b58b47bacf31a06b
compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
Unfortunately, I don't have any reproducer for this issue yet.
Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/73aa72bd3577/disk-99bd3cb0.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/6c6bf1614995/vmlinux-99bd3cb0.xz
kernel image: https://storage.googleapis.com/syzbot-assets/7df252d11788/bzImage-99bd3cb0.xz
IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: [email protected]
process_one_work kernel/workqueue.c:2633 [inline]
process_scheduled_works+0x913/0x1420 kernel/workqueue.c:2706
worker_thread+0xa5f/0x1000 kernel/workqueue.c:2787
kthread+0x2ef/0x390 kernel/kthread.c:388
ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147
ret_from_fork_asm+0x1b/0x30 arch/x86/entry/entry_64.S:242
------------[ cut here ]------------
kernel BUG at mm/filemap.c:2072!
invalid opcode: 0000 [#1] PREEMPT SMP KASAN PTI
CPU: 1 PID: 16388 Comm: syz-executor.2 Not tainted 6.8.0-rc3-syzkaller-00005-g99bd3cb0d12e #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/25/2024
RIP: 0010:find_lock_entries+0xfdf/0x1110 mm/filemap.c:2071
Code: e8 96 4d cb ff eb 2a e8 8f 4d cb ff eb 3a e8 88 4d cb ff eb 4a e8 81 4d cb ff 4c 89 f7 48 c7 c6 a0 41 b3 8b e8 32 0f 10 00 90 <0f> 0b e8 6a 4d cb ff 4c 89 f7 48 c7 c6 a0 4b b3 8b e8 1b 0f 10 00
RSP: 0018:ffffc90013457520 EFLAGS: 00010246
RAX: f6dc7e6d18066c00 RBX: 0000000000000000 RCX: ffffc90013457303
RDX: 0000000000000002 RSI: ffffffff8baac6e0 RDI: ffffffff8bfd93e0
RBP: ffffc90013457670 R08: ffffffff8f842b6f R09: 1ffffffff1f0856d
R10: dffffc0000000000 R11: fffffbfff1f0856e R12: ffffc900134575c0
R13: ffffffffffffffff R14: ffffea0000b3c100 R15: ffffea0000b3c134
FS: 00007f60b3b6e6c0(0000) GS:ffff8880b9500000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000056197e1c4648 CR3: 000000007d35c000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
<TASK>
mapping_try_invalidate+0x162/0x640 mm/truncate.c:499
open_ctree+0xa9c/0x2a00 fs/btrfs/disk-io.c:3220
btrfs_fill_super fs/btrfs/super.c:940 [inline]
btrfs_get_tree_super fs/btrfs/super.c:1860 [inline]
btrfs_get_tree+0xe7a/0x1920 fs/btrfs/super.c:2086
vfs_get_tree+0x90/0x2a0 fs/super.c:1784
fc_mount+0x1b/0xb0 fs/namespace.c:1125
btrfs_get_tree_subvol fs/btrfs/super.c:2049 [inline]
btrfs_get_tree+0x652/0x1920 fs/btrfs/super.c:2087
vfs_get_tree+0x90/0x2a0 fs/super.c:1784
do_new_mount+0x2be/0xb40 fs/namespace.c:3352
do_mount fs/namespace.c:3692 [inline]
__do_sys_mount fs/namespace.c:3898 [inline]
__se_sys_mount+0x2d9/0x3c0 fs/namespace.c:3875
do_syscall_64+0xf9/0x240
entry_SYSCALL_64_after_hwframe+0x6f/0x77
RIP: 0033:0x7f60b2e7f4aa
Code: d8 64 89 02 48 c7 c0 ff ff ff ff eb a6 e8 de 09 00 00 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 49 89 ca b8 a5 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b0 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f60b3b6def8 EFLAGS: 00000202 ORIG_RAX: 00000000000000a5
RAX: ffffffffffffffda RBX: 00007f60b3b6df80 RCX: 00007f60b2e7f4aa
RDX: 00000000200051c0 RSI: 0000000020005200 RDI: 00007f60b3b6df40
RBP: 00000000200051c0 R08: 00007f60b3b6df80 R09: 0000000001000008
R10: 0000000001000008 R11: 0000000000000202 R12: 0000000020005200
R13: 00007f60b3b6df40 R14: 00000000000051ab R15: 0000000020000280
</TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:find_lock_entries+0xfdf/0x1110 mm/filemap.c:2071
Code: e8 96 4d cb ff eb 2a e8 8f 4d cb ff eb 3a e8 88 4d cb ff eb 4a e8 81 4d cb ff 4c 89 f7 48 c7 c6 a0 41 b3 8b e8 32 0f 10 00 90 <0f> 0b e8 6a 4d cb ff 4c 89 f7 48 c7 c6 a0 4b b3 8b e8 1b 0f 10 00
RSP: 0018:ffffc90013457520 EFLAGS: 00010246
RAX: f6dc7e6d18066c00 RBX: 0000000000000000 RCX: ffffc90013457303
RDX: 0000000000000002 RSI: ffffffff8baac6e0 RDI: ffffffff8bfd93e0
RBP: ffffc90013457670 R08: ffffffff8f842b6f R09: 1ffffffff1f0856d
R10: dffffc0000000000 R11: fffffbfff1f0856e R12: ffffc900134575c0
R13: ffffffffffffffff R14: ffffea0000b3c100 R15: ffffea0000b3c134
FS: 00007f60b3b6e6c0(0000) GS:ffff8880b9500000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000555555ac9938 CR3: 000000007d35c000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
---
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 [email protected].
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
On Wed, Feb 07, 2024 at 12:43:22AM -0800, syzbot wrote:
> Hello,
>
> syzbot found the following issue on:
>
> HEAD commit: 99bd3cb0d12e Merge tag 'bcachefs-2024-02-05' of https://ev..
> git tree: upstream
> console output: https://syzkaller.appspot.com/x/log.txt?x=16629540180000
> kernel config: https://syzkaller.appspot.com/x/.config?x=89a5d896b14c4565
> dashboard link: https://syzkaller.appspot.com/bug?extid=e017b58b47bacf31a06b
> compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
>
> Unfortunately, I don't have any reproducer for this issue yet.
>
> Downloadable assets:
> disk image: https://storage.googleapis.com/syzbot-assets/73aa72bd3577/disk-99bd3cb0.raw.xz
> vmlinux: https://storage.googleapis.com/syzbot-assets/6c6bf1614995/vmlinux-99bd3cb0.xz
> kernel image: https://storage.googleapis.com/syzbot-assets/7df252d11788/bzImage-99bd3cb0.xz
>
> IMPORTANT: if you fix the issue, please add the following tag to the commit:
> Reported-by: [email protected]
>
> process_one_work kernel/workqueue.c:2633 [inline]
> process_scheduled_works+0x913/0x1420 kernel/workqueue.c:2706
> worker_thread+0xa5f/0x1000 kernel/workqueue.c:2787
> kthread+0x2ef/0x390 kernel/kthread.c:388
> ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147
> ret_from_fork_asm+0x1b/0x30 arch/x86/entry/entry_64.S:242
> ------------[ cut here ]------------
> kernel BUG at mm/filemap.c:2072!
unsigned find_lock_entries(struct address_space *mapping, pgoff_t *start,
pgoff_t end, struct folio_batch *fbatch, pgoff_t *indices)
{
XA_STATE(xas, &mapping->i_pages, *start);
struct folio *folio;
rcu_read_lock();
while ((folio = find_get_entry(&xas, end, XA_PRESENT))) {
if (!xa_is_value(folio)) {
if (folio->index < *start)
goto put;
if (folio_next_index(folio) - 1 > end)
goto put;
if (!folio_trylock(folio))
goto put;
if (folio->mapping != mapping ||
folio_test_writeback(folio))
goto unlock;
VM_BUG_ON_FOLIO(!folio_contains(folio, xas.xa_index),
folio);
index out of range
> invalid opcode: 0000 [#1] PREEMPT SMP KASAN PTI
> CPU: 1 PID: 16388 Comm: syz-executor.2 Not tainted 6.8.0-rc3-syzkaller-00005-g99bd3cb0d12e #0
> Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/25/2024
> RIP: 0010:find_lock_entries+0xfdf/0x1110 mm/filemap.c:2071
> Code: e8 96 4d cb ff eb 2a e8 8f 4d cb ff eb 3a e8 88 4d cb ff eb 4a e8 81 4d cb ff 4c 89 f7 48 c7 c6 a0 41 b3 8b e8 32 0f 10 00 90 <0f> 0b e8 6a 4d cb ff 4c 89 f7 48 c7 c6 a0 4b b3 8b e8 1b 0f 10 00
> RSP: 0018:ffffc90013457520 EFLAGS: 00010246
> RAX: f6dc7e6d18066c00 RBX: 0000000000000000 RCX: ffffc90013457303
> RDX: 0000000000000002 RSI: ffffffff8baac6e0 RDI: ffffffff8bfd93e0
> RBP: ffffc90013457670 R08: ffffffff8f842b6f R09: 1ffffffff1f0856d
> R10: dffffc0000000000 R11: fffffbfff1f0856e R12: ffffc900134575c0
> R13: ffffffffffffffff R14: ffffea0000b3c100 R15: ffffea0000b3c134
> FS: 00007f60b3b6e6c0(0000) GS:ffff8880b9500000(0000) knlGS:0000000000000000
> CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> CR2: 000056197e1c4648 CR3: 000000007d35c000 CR4: 00000000003506f0
> DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
> Call Trace:
> <TASK>
> mapping_try_invalidate+0x162/0x640 mm/truncate.c:499
> open_ctree+0xa9c/0x2a00 fs/btrfs/disk-io.c:3220
An initial and unconditional
invalidate_bdev(fs_devices->latest_dev->bdev);
Looks like our block device structures are valid, so possibly the memory
related structures are wrong. Could be inherited from previous runs of
the reproducer or because of previous errors in the driver. The console
log has some IO errors and loop device size changes, that would point
towards loop device.
#syz set subsystems: block