ci2 starts bisection 2023-07-01 00:08:24.854990013 +0000 UTC m=+30243.583496983 bisecting cause commit starting from b19edac5992da0188be98454ca592621d3d89844 building syzkaller on 134ddc025fb837f827d37ff644a85794a9554175 ensuring issue is reproducible on original commit b19edac5992da0188be98454ca592621d3d89844 testing commit b19edac5992da0188be98454ca592621d3d89844 gcc compiler: Debian clang version 15.0.7, GNU ld (GNU Binutils for Debian) 2.35.2 kernel signature: 845ef3455a4fd8e6cedc73d5f91ff7734f6146901b8da2ce6347acffeea5072c run #0: crashed: kernel BUG in prepare_to_merge run #1: crashed: kernel BUG in merge_reloc_roots run #2: crashed: WARNING in __btrfs_free_extent run #3: crashed: kernel BUG in prepare_to_merge run #4: OK run #5: OK run #6: OK run #7: OK run #8: OK run #9: OK run #10: OK run #11: OK run #12: OK run #13: OK run #14: OK run #15: OK run #16: OK run #17: OK run #18: OK run #19: OK reproducer seems to be flaky testing release v6.4 testing commit 6995e2de6891c724bfeb2db33d7b87775f913ad1 gcc compiler: Debian clang version 15.0.7, GNU ld (GNU Binutils for Debian) 2.35.2 kernel signature: 882a8407fcb5065d62d0e31a77f510424b3094cf03df7e078051f264892bf80e all runs: OK # git bisect start b19edac5992da0188be98454ca592621d3d89844 6995e2de6891c724bfeb2db33d7b87775f913ad1 Bisecting: 613 revisions left to test after this (roughly 9 steps) [a0433f8cae3ac51f59b4b1863032822aaa2d8164] Merge tag 'for-6.5/block-2023-06-23' of git://git.kernel.dk/linux testing commit a0433f8cae3ac51f59b4b1863032822aaa2d8164 gcc compiler: Debian clang version 15.0.7, GNU ld (GNU Binutils for Debian) 2.35.2 kernel signature: dcd107bd7289087bdfa3988efc668bd8c2a86a6cfae7009d0e269f3e489c5e11 run #0: crashed: kernel BUG in prepare_to_merge run #1: crashed: kernel BUG in prepare_to_merge run #2: crashed: kernel BUG in prepare_to_merge run #3: crashed: kernel BUG in merge_reloc_roots run #4: crashed: kernel BUG in merge_reloc_roots run #5: OK run #6: OK run #7: OK run #8: OK run #9: OK run #10: OK run #11: OK run #12: OK run #13: OK run #14: OK run #15: OK run #16: OK run #17: OK run #18: OK run #19: OK # git bisect bad a0433f8cae3ac51f59b4b1863032822aaa2d8164 Bisecting: 341 revisions left to test after this (roughly 9 steps) [cc423f6337d0a5ff1906f3b3d465d28c0d1705f6] Merge tag 'for-6.5-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux testing commit cc423f6337d0a5ff1906f3b3d465d28c0d1705f6 gcc compiler: Debian clang version 15.0.7, GNU ld (GNU Binutils for Debian) 2.35.2 kernel signature: 78591627959c36c436dd5b2fee964aa7480c4cfe4812ab024a51ad1f27e9d15d run #0: crashed: kernel BUG in prepare_to_merge run #1: crashed: kernel BUG in prepare_to_merge run #2: crashed: kernel BUG in prepare_to_merge run #3: OK run #4: OK run #5: OK run #6: OK run #7: OK run #8: OK run #9: OK run #10: OK run #11: OK run #12: OK run #13: OK run #14: OK run #15: OK run #16: OK run #17: OK run #18: OK run #19: OK # git bisect bad cc423f6337d0a5ff1906f3b3d465d28c0d1705f6 Bisecting: 177 revisions left to test after this (roughly 8 steps) [50b5d1fc41da21a4ecf219f37fbca23c79020b08] btrfs: do not BUG_ON() on tree mod log failures at insert_ptr() testing commit 50b5d1fc41da21a4ecf219f37fbca23c79020b08 gcc compiler: Debian clang version 15.0.7, GNU ld (GNU Binutils for Debian) 2.35.2 kernel signature: 2437a0119d807046543d265ed8b34a8f0f31036018ad9bef90032ea2af73ce12 all runs: OK # git bisect good 50b5d1fc41da21a4ecf219f37fbca23c79020b08 Bisecting: 95 revisions left to test after this (roughly 7 steps) [c0a572d9d32fe1e95672f24e860776dba0750a38] Merge tag 'v6.5/vfs.mount' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs testing commit c0a572d9d32fe1e95672f24e860776dba0750a38 gcc compiler: Debian clang version 15.0.7, GNU ld (GNU Binutils for Debian) 2.35.2 kernel signature: 6f3d58974ec8187f68e1664948ce1c56f7635f36998ad0cd64cfbe18f1bbb552 all runs: OK # git bisect good c0a572d9d32fe1e95672f24e860776dba0750a38 Bisecting: 48 revisions left to test after this (roughly 6 steps) [f7976a6493b3f00c4d057a37d9e63c322154ef8c] Merge tag 'nfsd-6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux testing commit f7976a6493b3f00c4d057a37d9e63c322154ef8c gcc compiler: Debian clang version 15.0.7, GNU ld (GNU Binutils for Debian) 2.35.2 kernel signature: 4fa79de7b9446dae61ac0c3bdd84996aa8154595e635bed859d179d70b3b342f all runs: OK # git bisect good f7976a6493b3f00c4d057a37d9e63c322154ef8c Bisecting: 19 revisions left to test after this (roughly 5 steps) [098c5dd9cf96fc6d7f35429561ef58cd7c5fcecf] Merge tag 'erofs-for-6.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs testing commit 098c5dd9cf96fc6d7f35429561ef58cd7c5fcecf gcc compiler: Debian clang version 15.0.7, GNU ld (GNU Binutils for Debian) 2.35.2 kernel signature: 2ac1f6c4dc47fd9fd1d349c1ed05a3b21014c8e9c301d940da1ca50701f6dcd7 all runs: OK # git bisect good 098c5dd9cf96fc6d7f35429561ef58cd7c5fcecf Bisecting: 9 revisions left to test after this (roughly 3 steps) [e794203e9d2d610faf6c5926345091193b202af5] btrfs: make btrfs_compressed_bioset static testing commit e794203e9d2d610faf6c5926345091193b202af5 gcc compiler: Debian clang version 15.0.7, GNU ld (GNU Binutils for Debian) 2.35.2 kernel signature: c5f2e9b8049dad243d5c8537a79ff8012c4d5c0dde68fac77e0ada3fba356aee run #0: crashed: kernel BUG in merge_reloc_roots run #1: crashed: kernel BUG in prepare_to_merge run #2: crashed: kernel BUG in prepare_to_merge run #3: crashed: kernel BUG in prepare_to_merge run #4: OK run #5: OK run #6: OK run #7: OK run #8: OK run #9: OK run #10: OK run #11: OK run #12: OK run #13: OK run #14: OK run #15: OK run #16: OK run #17: OK run #18: OK run #19: OK # git bisect bad e794203e9d2d610faf6c5926345091193b202af5 Bisecting: 4 revisions left to test after this (roughly 2 steps) [df9f278239046719c91aeb59ec0afb1a99ee8b2b] btrfs: do not BUG_ON on failure to get dir index for new snapshot testing commit df9f278239046719c91aeb59ec0afb1a99ee8b2b gcc compiler: Debian clang version 15.0.7, GNU ld (GNU Binutils for Debian) 2.35.2 kernel signature: 1253aa269b1ac20ebf2efe7abcb73f9df7576793fa9f6e74dcea964ba71fcfe7 run #0: crashed: kernel BUG in prepare_to_merge run #1: crashed: kernel BUG in prepare_to_merge run #2: crashed: kernel BUG in merge_reloc_roots run #3: crashed: WARNING in __btrfs_free_extent run #4: OK run #5: OK run #6: OK run #7: OK run #8: OK run #9: OK run #10: OK run #11: OK run #12: OK run #13: OK run #14: OK run #15: OK run #16: OK run #17: OK run #18: OK run #19: OK # git bisect bad df9f278239046719c91aeb59ec0afb1a99ee8b2b Bisecting: 2 revisions left to test after this (roughly 1 step) [7569141e8fa855b509e674456132b83bca5f087c] btrfs: replace BUG_ON() at split_item() with proper error handling testing commit 7569141e8fa855b509e674456132b83bca5f087c gcc compiler: Debian clang version 15.0.7, GNU ld (GNU Binutils for Debian) 2.35.2 kernel signature: 1c80f50fb349d0cd5b20dc9868d76022d3aad58b25cac45571468f4f9be6a334 run #0: crashed: kernel BUG in merge_reloc_roots run #1: crashed: kernel BUG in merge_reloc_roots run #2: OK run #3: OK run #4: OK run #5: OK run #6: OK run #7: OK run #8: OK run #9: OK run #10: OK run #11: OK run #12: OK run #13: OK run #14: OK run #15: OK run #16: OK run #17: OK run #18: OK run #19: OK # git bisect bad 7569141e8fa855b509e674456132b83bca5f087c Bisecting: 0 revisions left to test after this (roughly 0 steps) [751a27615ddaaf95519565d83bac65b8aafab9e8] btrfs: do not BUG_ON() on tree mod log failures at btrfs_del_ptr() testing commit 751a27615ddaaf95519565d83bac65b8aafab9e8 gcc compiler: Debian clang version 15.0.7, GNU ld (GNU Binutils for Debian) 2.35.2 kernel signature: 8148631444e409268235c5c1178de57c7de5f61ddff493485827c5693d065b9d run #0: crashed: WARNING in __btrfs_free_extent run #1: crashed: WARNING in __btrfs_free_extent run #2: crashed: kernel BUG in prepare_to_merge run #3: crashed: kernel BUG in merge_reloc_roots run #4: OK run #5: OK run #6: OK run #7: OK run #8: OK run #9: OK run #10: OK run #11: OK run #12: OK run #13: OK run #14: OK run #15: OK run #16: OK run #17: OK run #18: OK run #19: OK # git bisect bad 751a27615ddaaf95519565d83bac65b8aafab9e8 751a27615ddaaf95519565d83bac65b8aafab9e8 is the first bad commit commit 751a27615ddaaf95519565d83bac65b8aafab9e8 Author: Filipe Manana Date: Thu Jun 8 11:27:49 2023 +0100 btrfs: do not BUG_ON() on tree mod log failures at btrfs_del_ptr() At btrfs_del_ptr(), instead of doing a BUG_ON() in case we fail to record tree mod log operations, do a transaction abort and return the error to the callers. There's really no need for the BUG_ON() as we can release all resources in the context of all callers, and we have to abort because other future tree searches that use the tree mod log (btrfs_search_old_slot()) may get inconsistent results if other operations modify the tree after that failure and before the tree mod log based search. This implies btrfs_del_ptr() return an int instead of void, and making all callers check for returned errors. Signed-off-by: Filipe Manana Reviewed-by: David Sterba Signed-off-by: David Sterba fs/btrfs/ctree.c | 52 +++++++++++++++++++++++++++++++++++++++------------- fs/btrfs/ctree.h | 4 ++-- 2 files changed, 41 insertions(+), 15 deletions(-) culprit signature: 8148631444e409268235c5c1178de57c7de5f61ddff493485827c5693d065b9d parent signature: 2437a0119d807046543d265ed8b34a8f0f31036018ad9bef90032ea2af73ce12 Reproducer flagged being flaky revisions tested: 12, total time: 8h19m50.532018418s (build: 6h22m39.777301386s, test: 1h51m22.966466994s) first bad commit: 751a27615ddaaf95519565d83bac65b8aafab9e8 btrfs: do not BUG_ON() on tree mod log failures at btrfs_del_ptr() recipients (to): ["dsterba@suse.com" "fdmanana@suse.com"] recipients (cc): [] crash: kernel BUG in merge_reloc_roots assertion failed: 0, in fs/btrfs/relocation.c:2011 ------------[ cut here ]------------ kernel BUG at fs/btrfs/relocation.c:2011! invalid opcode: 0000 [#1] PREEMPT SMP KASAN CPU: 1 PID: 10531 Comm: syz-executor.5 Not tainted 6.4.0-rc7-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/27/2023 RIP: 0010:merge_reloc_roots+0x8bd/0x8f0 fs/btrfs/relocation.c:2011 Code: 5b 41 5c 41 5d 41 5e 41 5f 5d c3 48 c7 c7 40 33 2b 8a 48 c7 c6 a0 3e 2b 8a 48 c7 c2 c0 33 2b 8a b9 db 07 00 00 e8 f3 5f 60 06 <0f> 0b 48 c7 c7 40 33 2b 8a 48 c7 c6 a0 3e 2b 8a 48 c7 c2 c0 33 2b RSP: 0018:ffffc9000afff740 EFLAGS: 00010246 RAX: 0000000000000032 RBX: ffff888076e2e030 RCX: cec1c179c11c8a00 RDX: 0000000000000001 RSI: ffffffff8a385500 RDI: 0000000000000001 RBP: ffffc9000afff850 R08: dffffc0000000000 R09: fffff520015ffea5 R10: 0000000000000000 R11: dffffc0000000001 R12: ffff888077a74558 R13: ffff888077a74000 R14: ffff888076e2e000 R15: dffffc0000000000 FS: 00007f83dfccf700(0000) GS:ffff8880b9d00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f284208d000 CR3: 000000002a921000 CR4: 00000000003506e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: relocate_block_group+0x8bd/0xae0 fs/btrfs/relocation.c:3751 btrfs_relocate_block_group+0x673/0xb80 fs/btrfs/relocation.c:4087 btrfs_relocate_chunk+0xe3/0x2f0 fs/btrfs/volumes.c:3286 __btrfs_balance+0x166f/0x21a0 fs/btrfs/volumes.c:4021 btrfs_balance+0x96c/0xd50 fs/btrfs/volumes.c:4405 btrfs_ioctl_balance+0x460/0x630 fs/btrfs/ioctl.c:3604 vfs_ioctl fs/ioctl.c:51 [inline] __do_sys_ioctl fs/ioctl.c:870 [inline] __se_sys_ioctl+0xa7/0xf0 fs/ioctl.c:856 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x41/0xc0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x63/0xcd RIP: 0033:0x7f83dee8c389 Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 f1 19 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007f83dfccf168 EFLAGS: 00000246 ORIG_RAX: 0000000000000010 RAX: ffffffffffffffda RBX: 00007f83defabf80 RCX: 00007f83dee8c389 RDX: 00000000200003c0 RSI: 00000000c4009420 RDI: 0000000000000006 RBP: 00007f83deed7493 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 00007ffde171cb8f R14: 00007f83dfccf300 R15: 0000000000022000 Modules linked in: ---[ end trace 0000000000000000 ]--- RIP: 0010:merge_reloc_roots+0x8bd/0x8f0 fs/btrfs/relocation.c:2011 Code: 5b 41 5c 41 5d 41 5e 41 5f 5d c3 48 c7 c7 40 33 2b 8a 48 c7 c6 a0 3e 2b 8a 48 c7 c2 c0 33 2b 8a b9 db 07 00 00 e8 f3 5f 60 06 <0f> 0b 48 c7 c7 40 33 2b 8a 48 c7 c6 a0 3e 2b 8a 48 c7 c2 c0 33 2b RSP: 0018:ffffc9000afff740 EFLAGS: 00010246 RAX: 0000000000000032 RBX: ffff888076e2e030 RCX: cec1c179c11c8a00 RDX: 0000000000000001 RSI: ffffffff8a385500 RDI: 0000000000000001 RBP: ffffc9000afff850 R08: dffffc0000000000 R09: fffff520015ffea5 R10: 0000000000000000 R11: dffffc0000000001 R12: ffff888077a74558 R13: ffff888077a74000 R14: ffff888076e2e000 R15: dffffc0000000000 FS: 00007f83dfccf700(0000) GS:ffff8880b9d00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f766a15f000 CR3: 000000002a921000 CR4: 00000000003506e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400