bucket 0:24 gen 0 has wrong data_type: got free, should be journal, fixing bucket 0:24 gen 0 data type journal has wrong dirty_sectors: got 0, should be 256, fixing bucket 0:29 gen 0 has wrong data_type: got free, should be btree, fixing bucket 0:29 gen 0 data type btree has wrong dirty_sectors: got 0, should be 256, fixing bucket 0:32 gen 0 has wrong data_type: got free, should be btree, fixing bucket 0:32 gen 0 data type btree has wrong dirty_sectors: got 0, should be 256, fixing bucket 0:35 gen 0 has wrong data_type: got free, should be btree, fixing bucket 0:35 gen 0 data type btree has wrong dirty_sectors: got 0, should be 256, fixing bucket 0:38 gen 0 has wrong data_type: got free, should be btree, fixing bucket 0:38 gen 0 data type btree has wrong dirty_sectors: got 0, should be 256, fixing bucket 0:41 gen 0 has wrong data_type: got free, should be btree, fixing bcachefs (loop0): Ratelimiting new instances of previous error bucket 0:41 gen 0 data type btree has wrong dirty_sectors: got 0, should be 256, fixing bcachefs (loop0): Ratelimiting new instances of previous error done bcachefs (loop0): going read-write bcachefs (loop0): journal_replay... done bcachefs (loop0): check_alloc_info... hole in alloc btree missing in freespace btree device 0 buckets 26-27, fixing done bcachefs (loop0): check_lrus... done bcachefs (loop0): check_btree_backpointers... done bcachefs (loop0): check_backpointers_to_extents... done bcachefs (loop0): check_extents_to_backpointers... missing backpointer for btree=inodes l=1 u64s 11 type btree_ptr_v2 SPOS_MAX len 0 ver 0: seq 19bc58a6c09b6540 written 24 min_key POS_MIN durability: 1 ptr: 0:38:0 gen 0 got: u64s 5 type deleted 0:9961472:0 len 0 ver 0 want: u64s 9 type backpointer 0:9961472:0 len 0 ver 0: bucket=0:38:0 btree=inodes l=1 offset=0:0 len=256 pos=SPOS_MAX, fixing missing backpointer for btree=dirents l=1 u64s 11 type btree_ptr_v2 SPOS_MAX len 0 ver 0: seq c18f4a4face03c6 written 24 min_key POS_MIN durability: 1 ptr: 0:41:0 gen 0 got: u64s 5 type deleted 0:10747904:0 len 0 ver 0 want: u64s 9 type backpointer 0:10747904:0 len 0 ver 0: bucket=0:41:0 btree=dirents l=1 offset=0:0 len=256 pos=SPOS_MAX, fixing missing backpointer for btree=alloc l=1 u64s 11 type btree_ptr_v2 SPOS_MAX len 0 ver 0: seq 75277f57b0c8c24 written 48 min_key POS_MIN durability: 1 ptr: 0:26:0 gen 0 got: u64s 5 type deleted 0:6815744:0 len 0 ver 0 want: u64s 9 type backpointer 0:6815744:0 len 0 ver 0: bucket=0:26:0 btree=alloc l=1 offset=0:0 len=256 pos=SPOS_MAX, fixing missing backpointer for btree=subvolumes l=1 u64s 11 type btree_ptr_v2 SPOS_MAX len 0 ver 0: seq 7675f41d391e5d36 written 16 min_key POS_MIN durability: 1 ptr: 0:35:0 gen 0 got: u64s 5 type deleted 0:9175040:0 len 0 ver 0 want: u64s 9 type backpointer 0:9175040:0 len 0 ver 0: bucket=0:35:0 btree=subvolumes l=1 offset=0:0 len=256 pos=SPOS_MAX, fixing missing backpointer for btree=snapshots l=1 u64s 11 type btree_ptr_v2 SPOS_MAX len 0 ver 0: seq bcb9905dfb2993d5 written 16 min_key POS_MIN durability: 1 ptr: 0:32:0 gen 0 got: u64s 5 type deleted 0:8388608:0 len 0 ver 0 want: u64s 9 type backpointer 0:8388608:0 len 0 ver 0: bucket=0:32:0 btree=snapshots l=1 offset=0:0 len=256 pos=SPOS_MAX, fixing missing backpointer for btree=freespace l=1 u64s 11 type btree_ptr_v2 SPOS_MAX len 0 ver 0: seq 9a831b4a3f983356 written 48 min_key POS_MIN durability: 1 ptr: 0:29:0 gen 0 got: u64s 5 type deleted 0:7602176:0 len 0 ver 0 want: u64s 9 type backpointer 0:7602176:0 len 0 ver 0: bucket=0:29:0 btree=freespace l=1 offset=0:0 len=256 pos=SPOS_MAX, fixing done bcachefs (loop0): check_alloc_to_lru_refs... done bcachefs (loop0): check_snapshot_trees... done bcachefs (loop0): check_snapshots... snapshot points to missing/incorrect tree: u64s 8 type snapshot 0:4294967295:0 len 0 ver 0: is_subvol 1 deleted 0 parent 0 children 0 0 subvol 1 tree 0, fixing ============================= WARNING: suspicious RCU usage 6.11.0-syzkaller-11728-gad46e8f95e93 #0 Not tainted ----------------------------- fs/bcachefs/snapshot.h:45 suspicious rcu_dereference_check() usage! other info that might help us debug this: rcu_scheduler_active = 2, debug_locks = 1 3 locks held by syz.0.0/5107: #0: ffff88804c580278 (&c->state_lock){+.+.}-{3:3}, at: bch2_fs_start+0x45/0x5b0 fs/bcachefs/super.c:1007 #1: ffff88804c584398 (&c->btree_trans_barrier){.+.+}-{0:0}, at: srcu_lock_acquire include/linux/srcu.h:151 [inline] #1: ffff88804c584398 (&c->btree_trans_barrier){.+.+}-{0:0}, at: srcu_read_lock include/linux/srcu.h:250 [inline] #1: ffff88804c584398 (&c->btree_trans_barrier){.+.+}-{0:0}, at: __bch2_trans_get+0x7de/0xd20 fs/bcachefs/btree_iter.c:3215 #2: ffff88800069c128 (bcachefs_btree){+.+.}-{0:0}, at: srcu_lock_acquire include/linux/srcu.h:151 [inline] #2: ffff88800069c128 (bcachefs_btree){+.+.}-{0:0}, at: srcu_read_lock include/linux/srcu.h:250 [inline] #2: ffff88800069c128 (bcachefs_btree){+.+.}-{0:0}, at: __bch2_trans_get+0x7de/0xd20 fs/bcachefs/btree_iter.c:3215 stack backtrace: CPU: 0 UID: 0 PID: 5107 Comm: syz.0.0 Not tainted 6.11.0-syzkaller-11728-gad46e8f95e93 #0 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 Call Trace: __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0x241/0x360 lib/dump_stack.c:120 lockdep_rcu_suspicious+0x226/0x340 kernel/locking/lockdep.c:6802 snapshot_t fs/bcachefs/snapshot.h:45 [inline] bch2_snapshot_tree_oldest_subvol+0x485/0x550 fs/bcachefs/snapshot.c:473 snapshot_tree_ptr_repair fs/bcachefs/snapshot.c:714 [inline] check_snapshot fs/bcachefs/snapshot.c:836 [inline] bch2_check_snapshots+0x3f59/0x5320 fs/bcachefs/snapshot.c:889 bch2_run_recovery_pass+0xf0/0x1e0 fs/bcachefs/recovery_passes.c:185 bch2_run_recovery_passes+0x387/0x870 fs/bcachefs/recovery_passes.c:232 bch2_fs_recovery+0x24f9/0x38b0 fs/bcachefs/recovery.c:859 bch2_fs_start+0x356/0x5b0 fs/bcachefs/super.c:1037 bch2_fs_get_tree+0xd68/0x1710 fs/bcachefs/fs.c:2071 vfs_get_tree+0x90/0x2b0 fs/super.c:1800 do_new_mount+0x2be/0xb40 fs/namespace.c:3507 do_mount fs/namespace.c:3847 [inline] __do_sys_mount fs/namespace.c:4055 [inline] __se_sys_mount+0x2d6/0x3c0 fs/namespace.c:4032 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7fbe1b17f79a Code: d8 64 89 02 48 c7 c0 ff ff ff ff eb a6 e8 de 1a 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 a8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007fbe1bf4de68 EFLAGS: 00000246 ORIG_RAX: 00000000000000a5 RAX: ffffffffffffffda RBX: 00007fbe1bf4def0 RCX: 00007fbe1b17f79a RDX: 0000000020005d80 RSI: 0000000020005dc0 RDI: 00007fbe1bf4deb0 RBP: 0000000020005d80 R08: 00007fbe1bf4def0 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000020005dc0 R13: 00007fbe1bf4deb0 R14: 0000000000005dc8 R15: 0000000020000280 done bcachefs (loop0): check_subvols... done bcachefs (loop0): check_subvol_children... done bcachefs (loop0): delete_dead_snapshots... done bcachefs (loop0): check_inodes... done bcachefs (loop0): check_extents... done bcachefs (loop0): check_indirect_extents... done bcachefs (loop0): check_dirents... dirent points to missing inode: u64s 7 type dirent 4096:1145047328784489552:U32_MAX len 0 ver 0: file0 -> 536870912 type dir, fixing key in missing inode: u64s 7 type dirent 536870912:4207842545033737098:U32_MAX len 0 ver 0: file0 -> 536870913 type reg, fixing key in missing inode: u64s 7 type dirent 536870912:6600455862828409806:U32_MAX len 0 ver 0: file1 -> 536870914 type lnk, fixing done bcachefs (loop0): check_xattrs... done bcachefs (loop0): check_root... done bcachefs (loop0): check_subvolume_structure... done bcachefs (loop0): check_directory_structure... unreachable inode u64s 18 type inode_v3 0:536870913:U32_MAX len 0 ver 0: mode=100755 flags=(15300000) journal_seq=4 bi_size=1050 bi_sectors=8 bi_version=0 bi_atime=2720995041 bi_ctime=2720995041 bi_mtime=2720995041 bi_otime=2720995041 bi_uid=0 bi_gid=0 bi_nlink=0 bi_generation=0 bi_dev=0 bi_data_checksum=0 bi_compression=0 bi_project=0 bi_background_compression=0 bi_data_replicas=0 bi_promote_target=0 bi_foreground_target=0 bi_background_target=0 bi_erasure_code=0 bi_fields_set=0 bi_dir=536870912 bi_dir_offset=4207842545033737098 bi_subvol=0 bi_parent_subvol=0 bi_nocow=0, fixing unreachable inode u64s 18 type inode_v3 0:536870914:U32_MAX len 0 ver 0: mode=120777 flags=(15300000) journal_seq=4 bi_size=39 bi_sectors=8 bi_version=0 bi_atime=2720995041 bi_ctime=2740995251 bi_mtime=2720995041 bi_otime=2720995041 bi_uid=0 bi_gid=0 bi_nlink=0 bi_generation=0 bi_dev=0 bi_data_checksum=0 bi_compression=0 bi_project=0 bi_background_compression=0 bi_data_replicas=0 bi_promote_target=0 bi_foreground_target=0 bi_background_target=0 bi_erasure_code=0 bi_fields_set=0 bi_dir=536870912 bi_dir_offset=6600455862828409806 bi_subvol=0 bi_parent_subvol=0 bi_nocow=0, fixing done bcachefs (loop0): check_nlinks... done bcachefs (loop0): resume_logged_ops... done bcachefs (loop0): delete_dead_inodes... done bcachefs (loop0): done starting filesystem