syzbot


BUG: unable to handle kernel paging request in rcu_segcblist_advance

Status: upstream: reported syz repro on 2025/05/10 13:49
Subsystems: bcachefs
[Documentation on labels]
Reported-by: syzbot+180ee4715c8ed6d72258@syzkaller.appspotmail.com
First crash: 41d, last: 5h59m
Discussions (1)
Title Replies (including bot) Last reply
[syzbot] [bcachefs?] BUG: unable to handle kernel paging request in rcu_segcblist_advance 0 (1) 2025/05/10 13:49

Sample crash report:
bcachefs (loop1): initializing new filesystem
bcachefs (loop1): going read-write
bcachefs (loop1): marking superblocks
Unable to handle kernel paging request at virtual address fffffdfffffffdff
KASAN: maybe wild-memory-access in range [0x0003efffffffeff8-0x0003efffffffefff]
Mem abort info:
  ESR = 0x0000000096000006
  EC = 0x25: DABT (current EL), IL = 32 bits
  SET = 0, FnV = 0
  EA = 0, S1PTW = 0
  FSC = 0x06: level 2 translation fault
Data abort info:
  ISV = 0, ISS = 0x00000006, ISS2 = 0x00000000
  CM = 0, WnR = 0, TnD = 0, TagAccess = 0
  GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0
swapper pgtable: 4k pages, 48-bit VAs, pgdp=0000000207bf8000
[fffffdfffffffdff] pgd=0000000000000000, p4d=100000023ea67403, pud=100000023ea66403, pmd=0000000000000000
Internal error: Oops: 0000000096000006 [#1]  SMP
Modules linked in:
CPU: 0 UID: 0 PID: 8165 Comm: syz.1.143 Not tainted 6.15.0-rc5-syzkaller-gc32f8dc5aaf9 #0 PREEMPT 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2025
pstate: 804000c5 (Nzcv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : rcu_segcblist_restempty kernel/rcu/rcu_segcblist.h:105 [inline]
pc : rcu_segcblist_advance+0x84/0x368 kernel/rcu/rcu_segcblist.c:474
lr : srcu_gp_start_if_needed+0x568/0x10d0 kernel/rcu/srcutree.c:1316
sp : ffff80009bb161f0
x29: ffff80009bb161f0 x28: fffffdffbf73c340 x27: 00000000000000c0
x26: dfff800000000000 x25: 1fffffbff7ee7871 x24: dfff800000000000
x23: ffff0000d8935180 x22: fffffdfffffffdff x21: fffffffffffffe70
x20: fffffdffbf73c388 x19: fffffdffbf73c380 x18: 0000000000000000
x17: 0000000000000000 x16: ffff80008adb421c x15: ffff700013762c34
x14: 1ffff00013762c34 x13: 0000000000000004 x12: ffffffffffffffff
x11: 0000000010bfcbf4 x10: 0000000000000003 x9 : 0000000000000000
x8 : 0000000000000000 x7 : ffff80008059d5f8 x6 : 0000000000000000
x5 : 0000000000000001 x4 : 0000000000000001 x3 : ffff80008ae837c0
x2 : 0000000000000008 x1 : fffffffffffffe70 x0 : fffffdffbf73c380
Call trace:
 rcu_segcblist_restempty kernel/rcu/rcu_segcblist.h:105 [inline] (P)
 rcu_segcblist_advance+0x84/0x368 kernel/rcu/rcu_segcblist.c:474 (P)
 srcu_gp_start_if_needed+0x568/0x10d0 kernel/rcu/srcutree.c:1316
 __call_srcu kernel/rcu/srcutree.c:1389 [inline]
 call_srcu+0xc8/0xe0 kernel/rcu/srcutree.c:1416
 __call_rcu+0x38/0x60 fs/bcachefs/rcu_pending.c:76
 __rcu_pending_enqueue fs/bcachefs/rcu_pending.c:497 [inline]
 rcu_pending_enqueue+0x70c/0x840 fs/bcachefs/rcu_pending.c:531
 bkey_cached_free+0xb8/0x1c4 fs/bcachefs/btree_key_cache.c:115
 bch2_btree_key_cache_drop+0x10c/0x5c8 fs/bcachefs/btree_key_cache.c:619
 bch2_trans_commit_write_locked fs/bcachefs/btree_trans_commit.c:772 [inline]
 do_bch2_trans_commit fs/bcachefs/btree_trans_commit.c:844 [inline]
 __bch2_trans_commit+0x4ac8/0x62d0 fs/bcachefs/btree_trans_commit.c:1050
 bch2_trans_commit fs/bcachefs/btree_update.h:195 [inline]
 bch2_trans_mark_metadata_bucket+0x328/0xe14 fs/bcachefs/buckets.c:1052
 bch2_trans_mark_metadata_sectors fs/bcachefs/buckets.c:1069 [inline]
 __bch2_trans_mark_dev_sb fs/bcachefs/buckets.c:1109 [inline]
 bch2_trans_mark_dev_sb+0x318/0x67c fs/bcachefs/buckets.c:1137
 bch2_trans_mark_dev_sbs_flags+0x6f4/0x754 fs/bcachefs/buckets.c:1147
 bch2_trans_mark_dev_sbs+0x24/0x34 fs/bcachefs/buckets.c:1159
 bch2_fs_initialize+0x8cc/0x10ac fs/bcachefs/recovery.c:1153
 bch2_fs_start+0x5a0/0x908 fs/bcachefs/super.c:1092
 bch2_fs_get_tree+0xa0c/0xf30 fs/bcachefs/fs.c:2570
 vfs_get_tree+0x90/0x28c fs/super.c:1759
 do_new_mount+0x228/0x814 fs/namespace.c:3884
 path_mount+0x5b4/0xde0 fs/namespace.c:4211
 do_mount fs/namespace.c:4224 [inline]
 __do_sys_mount fs/namespace.c:4435 [inline]
 __se_sys_mount fs/namespace.c:4412 [inline]
 __arm64_sys_mount+0x3e8/0x468 fs/namespace.c:4412
 __invoke_syscall arch/arm64/kernel/syscall.c:35 [inline]
 invoke_syscall+0x98/0x2b8 arch/arm64/kernel/syscall.c:49
 el0_svc_common+0x130/0x23c arch/arm64/kernel/syscall.c:132
 do_el0_svc+0x48/0x58 arch/arm64/kernel/syscall.c:151
 el0_svc+0x58/0x17c arch/arm64/kernel/entry-common.c:767
 el0t_64_sync_handler+0x78/0x108 arch/arm64/kernel/entry-common.c:786
 el0t_64_sync+0x198/0x19c arch/arm64/kernel/entry.S:600
Code: 38786908 34000068 aa1603e0 94197940 (f94002c8) 
---[ end trace 0000000000000000 ]---
----------------
Code disassembly (best guess):
   0:	38786908 	ldrb	w8, [x8, x24]
   4:	34000068 	cbz	w8, 0x10
   8:	aa1603e0 	mov	x0, x22
   c:	94197940 	bl	0x65e50c
* 10:	f94002c8 	ldr	x8, [x22] <-- trapping instruction

Crashes (3):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/05/10 15:58 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci c32f8dc5aaf9 77908e5f .config console log report syz / log [disk image] [vmlinux] [kernel image] [mounted in repro] ci-upstream-gce-arm64 BUG: unable to handle kernel paging request in rcu_segcblist_advance
2025/05/10 13:48 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci c32f8dc5aaf9 77908e5f .config console log report syz / log [disk image] [vmlinux] [kernel image] [mounted in repro] ci-upstream-gce-arm64 BUG: unable to handle kernel paging request in rcu_segcblist_advance
2025/03/30 20:27 upstream 7f2ff7b62617 d3999433 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root BUG: unable to handle kernel paging request in rcu_segcblist_advance
* Struck through repros no longer work on HEAD.