syzbot


general protection fault in bioset_exit (2)

Status: upstream: reported on 2025/02/02 18:04
Subsystems: bcachefs
[Documentation on labels]
Reported-by: syzbot+76f13f2acac84df26aae@syzkaller.appspotmail.com
First crash: 6d13h, last: 16h55m
Discussions (1)
Title Replies (including bot) Last reply
[syzbot] [block?] general protection fault in bioset_exit (2) 1 (2) 2025/02/02 20:22
Similar bugs (1)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream general protection fault in bioset_exit block 2 249d 247d 0/28 auto-obsoleted due to no activity on 2024/08/29 08:35

Sample crash report:
bucket 0:19 gen 0 data type sb has wrong dirty_sectors: got 0, should be 256, fixing
bucket 0:20 gen 0 has wrong data_type: got free, should be sb, fixing
bucket 0:20 gen 0 data type sb has wrong dirty_sectors: got 0, should be 256, fixing
bucket 0:21 gen 0 has wrong data_type: got free, should be sb, fixing
bucket 0:21 gen 0 data type sb has wrong dirty_sectors: got 0, should be 256, fixing
bucket 0:22 gen 0 has wrong data_type: got free, should be sb, fixing
bucket 0:22 gen 0 data type sb has wrong dirty_sectors: got 0, should be 256, fixing
bucket 0:23 gen 0 has wrong data_type: got free, should be sb, fixing
bucket 0:23 gen 0 data type sb has wrong dirty_sectors: got 0, should be 256, fixing
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:26 gen 0 has wrong data_type: got free, should be btree, fixing
bucket 0:26 gen 0 data type btree has wrong dirty_sectors: got 0, should be 256, fixing
bucket 0:27 gen 0 has wrong data_type: got btree, should be need_discard, fixing
bucket 0:27 gen 0 data type need_discard has wrong dirty_sectors: got 256, should be 0, 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 sb, should be btree, fixing
bucket 0:34 gen 0 has wrong data_type: got user, should be need_discard, fixing
bucket 0:34 gen 0 data type need_discard has wrong dirty_sectors: got 16, should be 0, 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
bucket 0:41 gen 0 data type btree has wrong dirty_sectors: got 0, should be 256, fixing
bucket 0:120 gen 0 has wrong data_type: got free, should be sb, fixing
bucket 0:120 gen 0 data type sb has wrong dirty_sectors: got 0, should be 256, fixing
bucket 0:121 gen 0 has wrong data_type: got free, should be sb, fixing
bucket 0:121 gen 0 data type sb has wrong dirty_sectors: got 0, should be 256, fixing
bucket 0:122 gen 0 has wrong data_type: got free, should be sb, fixing
bucket 0:122 gen 0 data type sb has wrong dirty_sectors: got 0, should be 256, fixing
bucket 0:123 gen 0 has wrong data_type: got free, should be sb, fixing
bucket 0:123 gen 0 data type sb has wrong dirty_sectors: got 0, should be 256, fixing
bucket 0:124 gen 0 has wrong data_type: got free, should be sb, fixing
bucket 0:124 gen 0 data type sb has wrong dirty_sectors: got 0, should be 256, fixing
bucket 0:125 gen 0 has wrong data_type: got free, should be sb, fixing
bucket 0:125 gen 0 data type sb has wrong dirty_sectors: got 0, should be 256, fixing
bucket 0:126 gen 0 has wrong data_type: got free, should be sb, fixing
bucket 0:126 gen 0 data type sb has wrong dirty_sectors: got 0, should be 256, fixing
bucket 0:127 gen 0 has wrong data_type: got free, should be sb, fixing
bucket 0:127 gen 0 data type sb has wrong dirty_sectors: got 0, should be 256, fixing
 done
bcachefs (loop0): going read-write
bcachefs (loop0): journal_replay...
bcachefs (loop0): bch2_journal_replay(): error erofs_journal_err
bcachefs (loop0): bch2_fs_recovery(): error erofs_journal_err
bcachefs (loop0): bch2_fs_start(): error starting filesystem erofs_journal_err
bcachefs (loop0): shutting down
bcachefs (loop0): shutdown complete
Oops: general protection fault, probably for non-canonical address 0x3a6d697377685f31: 0000 [#1] PREEMPT SMP KASAN NOPTI
CPU: 0 UID: 0 PID: 5322 Comm: syz.0.0 Not tainted 6.14.0-rc1-syzkaller-00020-g0de63bb7d919 #0
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014
RIP: 0010:qlist_move_cache+0x6a/0x140 mm/kasan/quarantine.c:302
Code: 00 00 00 00 48 8d 47 08 48 89 44 24 18 48 8d 47 10 48 89 44 24 10 48 8d 46 08 48 89 44 24 08 48 8d 46 10 48 89 04 24 4c 89 eb <4d> 8b 6d 00 48 89 df e8 da 3c 47 ff 48 c1 e8 06 48 83 e0 c0 48 8b
RSP: 0018:ffffc9000d3677b0 EFLAGS: 00010002
RAX: 0000000000000178 RBX: 3a6d697377685f31 RCX: ffffffff9a466b48
RDX: ffffffff9a466b50 RSI: ffff88803f105db8 RDI: 0000000000000000
RBP: ffffea0000000000 R08: ffffffff816d48ec R09: fffff52001a6cedc
R10: dffffc0000000000 R11: fffff52001a6cedc R12: ffffffff9a466b40
R13: 3a6d697377685f31 R14: ffffc9000d367808 R15: ffff888054d8b3c0
FS:  00007fc4ed88c6c0(0000) GS:ffff88801fc00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000055b20aa9b0c8 CR3: 0000000034746000 CR4: 0000000000352ef0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <TASK>
 kasan_quarantine_remove_cache+0x10b/0x180 mm/kasan/quarantine.c:370
 kmem_cache_destroy+0x6e/0x160 mm/slab_common.c:528
 bio_put_slab block/bio.c:155 [inline]
 bioset_exit+0x54e/0x650 block/bio.c:1662
 bch2_fs_fs_io_direct_exit+0x19/0x30 fs/bcachefs/fs-io-direct.c:676
 __bch2_fs_free fs/bcachefs/super.c:547 [inline]
 bch2_fs_release+0x1a9/0x7b0 fs/bcachefs/super.c:613
 kobject_cleanup lib/kobject.c:689 [inline]
 kobject_release lib/kobject.c:720 [inline]
 kref_put include/linux/kref.h:65 [inline]
 kobject_put+0x22f/0x480 lib/kobject.c:737
 bch2_fs_get_tree+0xdc4/0x1740 fs/bcachefs/fs.c:2299
 vfs_get_tree+0x90/0x2b0 fs/super.c:1814
 do_new_mount+0x2be/0xb40 fs/namespace.c:3560
 do_mount fs/namespace.c:3900 [inline]
 __do_sys_mount fs/namespace.c:4111 [inline]
 __se_sys_mount+0x2d6/0x3c0 fs/namespace.c:4088
 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:0x7fc4ec98e54a
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:00007fc4ed88be68 EFLAGS: 00000246 ORIG_RAX: 00000000000000a5
RAX: ffffffffffffffda RBX: 00007fc4ed88bef0 RCX: 00007fc4ec98e54a
RDX: 0000000020000000 RSI: 0000000020000040 RDI: 00007fc4ed88beb0
RBP: 0000000020000000 R08: 00007fc4ed88bef0 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000020000040
R13: 00007fc4ed88beb0 R14: 000000000000593f R15: 0000000020000380
 </TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:qlist_move_cache+0x6a/0x140 mm/kasan/quarantine.c:302
Code: 00 00 00 00 48 8d 47 08 48 89 44 24 18 48 8d 47 10 48 89 44 24 10 48 8d 46 08 48 89 44 24 08 48 8d 46 10 48 89 04 24 4c 89 eb <4d> 8b 6d 00 48 89 df e8 da 3c 47 ff 48 c1 e8 06 48 83 e0 c0 48 8b
RSP: 0018:ffffc9000d3677b0 EFLAGS: 00010002
RAX: 0000000000000178 RBX: 3a6d697377685f31 RCX: ffffffff9a466b48
RDX: ffffffff9a466b50 RSI: ffff88803f105db8 RDI: 0000000000000000
RBP: ffffea0000000000 R08: ffffffff816d48ec R09: fffff52001a6cedc
R10: dffffc0000000000 R11: fffff52001a6cedc R12: ffffffff9a466b40
R13: 3a6d697377685f31 R14: ffffc9000d367808 R15: ffff888054d8b3c0
FS:  00007fc4ed88c6c0(0000) GS:ffff88801fc00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000055b20aa9b0c8 CR3: 0000000034746000 CR4: 0000000000352ef0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess):
   0:	00 00                	add    %al,(%rax)
   2:	00 00                	add    %al,(%rax)
   4:	48 8d 47 08          	lea    0x8(%rdi),%rax
   8:	48 89 44 24 18       	mov    %rax,0x18(%rsp)
   d:	48 8d 47 10          	lea    0x10(%rdi),%rax
  11:	48 89 44 24 10       	mov    %rax,0x10(%rsp)
  16:	48 8d 46 08          	lea    0x8(%rsi),%rax
  1a:	48 89 44 24 08       	mov    %rax,0x8(%rsp)
  1f:	48 8d 46 10          	lea    0x10(%rsi),%rax
  23:	48 89 04 24          	mov    %rax,(%rsp)
  27:	4c 89 eb             	mov    %r13,%rbx
* 2a:	4d 8b 6d 00          	mov    0x0(%r13),%r13 <-- trapping instruction
  2e:	48 89 df             	mov    %rbx,%rdi
  31:	e8 da 3c 47 ff       	call   0xff473d10
  36:	48 c1 e8 06          	shr    $0x6,%rax
  3a:	48 83 e0 c0          	and    $0xffffffffffffffc0,%rax
  3e:	48                   	rex.W
  3f:	8b                   	.byte 0x8b

Crashes (8):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/02/04 14:02 upstream 0de63bb7d919 8f267cef .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root general protection fault in bioset_exit
2025/02/04 01:59 upstream 0de63bb7d919 8f267cef .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root general protection fault in bioset_exit
2025/02/01 08:45 upstream 69e858e0b8b2 aa47157c .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root general protection fault in bioset_exit
2025/02/01 08:35 upstream 69e858e0b8b2 aa47157c .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root general protection fault in bioset_exit
2025/01/31 20:34 upstream 69e858e0b8b2 aa47157c .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root general protection fault in bioset_exit
2025/01/29 17:54 upstream 805ba04cb7cc d03b0c97 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root general protection fault in bioset_exit
2025/02/01 05:29 upstream 69e858e0b8b2 aa47157c .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root BUG: unable to handle kernel paging request in bioset_exit
2025/01/31 21:10 upstream 69e858e0b8b2 aa47157c .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root BUG: unable to handle kernel paging request in bioset_exit
* Struck through repros no longer work on HEAD.