Hi,
I use bcache on an nvme partition as frontend and md array ass backend.
I have the following error since I updated to kernel 6.8.9.
UBSAN: array-index-out-of-bounds in drivers/md/bcache/bset.c:1098:3
[ 7.138127] index 4 is out of range for type 'btree_iter_set [4]'
[ 7.138129] CPU: 9 PID: 645 Comm: bcache-register Not tainted
6.8.9-200.fc39.x86_64 #1
[ 7.138131] Hardware name: Gigabyte Technology Co., Ltd. B550M
DS3H/B550M DS3H, BIOS F1 12/07/2022
[ 7.138133] Call Trace:
[ 7.138135] <TASK>
[ 7.138137] dump_stack_lvl+0x64/0x80
[ 7.138143] __ubsan_handle_out_of_bounds+0x95/0xd0
[ 7.138148] bch_btree_iter_push+0x4ca/0x4e0 [bcache]
[ 7.138160] bch_btree_node_read_done+0xca/0x3f0 [bcache]
[ 7.138171] bch_btree_node_read+0xe4/0x1d0 [bcache]
[ 7.138180] ? __pfx_closure_sync_fn+0x10/0x10
[ 7.138183] bch_btree_node_get.part.0+0x156/0x320 [bcache]
[ 7.138192] ? __pfx_up_write+0x10/0x10
[ 7.138197] register_bcache+0x1f31/0x2230 [bcache]
[ 7.138212] kernfs_fop_write_iter+0x136/0x1d0
[ 7.138217] vfs_write+0x29e/0x470
[ 7.138222] ksys_write+0x6f/0xf0
[ 7.138224] do_syscall_64+0x83/0x170
[ 7.138229] ? srso_alias_return_thunk+0x5/0xfbef5
[ 7.138232] ? srso_alias_return_thunk+0x5/0xfbef5
[ 7.138234] ? xas_find+0x75/0x1d0
[ 7.138237] ? srso_alias_return_thunk+0x5/0xfbef5
[ 7.138239] ? next_uptodate_folio+0xa5/0x2e0
[ 7.138243] ? srso_alias_return_thunk+0x5/0xfbef5
[ 7.138245] ? filemap_map_pages+0x474/0x550
[ 7.138248] ? srso_alias_return_thunk+0x5/0xfbef5
[ 7.138251] ? srso_alias_return_thunk+0x5/0xfbef5
[ 7.138253] ? do_fault+0x246/0x490
[ 7.138256] ? srso_alias_return_thunk+0x5/0xfbef5
[ 7.138258] ? __handle_mm_fault+0x827/0xe40
[ 7.138262] ? srso_alias_return_thunk+0x5/0xfbef5
[ 7.138264] ? __count_memcg_events+0x69/0x100
[ 7.138267] ? srso_alias_return_thunk+0x5/0xfbef5
[ 7.138269] ? count_memcg_events.constprop.0+0x1a/0x30
[ 7.138271] ? srso_alias_return_thunk+0x5/0xfbef5
[ 7.138273] ? handle_mm_fault+0xa2/0x360
[ 7.138275] ? srso_alias_return_thunk+0x5/0xfbef5
[ 7.138277] ? do_user_addr_fault+0x304/0x690
[ 7.138281] ? srso_alias_return_thunk+0x5/0xfbef5
[ 7.138282] ? srso_alias_return_thunk+0x5/0xfbef5
[ 7.138285] entry_SYSCALL_64_after_hwframe+0x78/0x80
[ 7.138287] RIP: 0033:0x7f2dba570ee4
[ 7.138292] Code: c7 00 16 00 00 00 b8 ff ff ff ff c3 66 2e 0f 1f 84
00 00 00 00 00 f3 0f 1e fa 80 3d 85 74 0d 00 00 74 13 b8 01 00 00 00 0f
05 <48> 3d 00 f0 ff ff 77 54 c3 0f 1f 00 55 48 89 e5 48 83 ec 20 4
8 89
[ 7.138293] RSP: 002b:00007ffe3e2f1df8 EFLAGS: 00000202 ORIG_RAX:
0000000000000001
[ 7.138295] RAX: ffffffffffffffda RBX: 00007ffe3e2f1e6c RCX:
00007f2dba570ee4
[ 7.138297] RDX: 000000000000000f RSI: 00007ffe3e2f1e6c RDI:
0000000000000003
[ 7.138298] RBP: 00007ffe3e2f1e30 R08: 0000000000000073 R09:
0000000000000001
[ 7.138299] R10: 0000000000000000 R11: 0000000000000202 R12:
000000000000000f
[ 7.138300] R13: 00007ffe3e2f1e7b R14: 00007ffe3e2f1e6c R15:
00007ffe3e2f1e40
[ 7.138303] </TASK>
The error is repeated 15 times while reboot
(I have a 12 threads processors).
Pierre