syzbot


UBSAN: shift-out-of-bounds in validate_sb_layout

Status: fixed on 2024/11/14 10:09
Subsystems: bcachefs
[Documentation on labels]
Reported-by: syzbot+089fad5a3a5e77825426@syzkaller.appspotmail.com
Fix commit: 2045fc4295c4 bcachefs: Fix invalid shift in validate_sb_layout()
First crash: 43d, last: 33d
Cause bisection: introduced by (bisect log) :
commit 03ef80b469d5d83530ce1ce15be78a40e5300f9b
Author: Kent Overstreet <kent.overstreet@linux.dev>
Date: Sat Sep 23 22:41:51 2023 +0000

  bcachefs: Ignore unknown mount options

Crash: UBSAN: shift-out-of-bounds in read_one_super (log)
Repro: C syz .config
  
Discussions (4)
Title Replies (including bot) Last reply
[syzbot] [bcachefs?] UBSAN: shift-out-of-bounds in validate_sb_layout 0 (4) 2024/10/26 00:49
[PATCH] bcachefs: Fix invalid shift in validate_sb_layout() 5 (5) 2024/10/24 11:51
Re: [syzbot] [bcachefs?] UBSAN: shift-out-of-bounds in validate_sb_layout 1 (2) 2024/10/23 21:31
Re: [syzbot] [bcachefs?] UBSAN: shift-out-of-bounds in validate_sb_layout 1 (2) 2024/10/23 21:13
Last patch testing requests (3)
Created Duration User Patch Repo Result
2024/10/23 21:08 18m gianf.trad@gmail.com patch upstream OK log
2024/10/23 20:48 19m gianf.trad@gmail.com patch upstream OK log
2024/10/23 19:29 19m gianf.trad@gmail.com patch upstream OK log

Sample crash report:
loop0: detected capacity change from 0 to 32768
------------[ cut here ]------------
UBSAN: shift-out-of-bounds in fs/bcachefs/super-io.c:290:18
shift exponent 255 is too large for 32-bit type 'int'
CPU: 0 UID: 0 PID: 5220 Comm: syz-executor166 Not tainted 6.12.0-rc4-syzkaller-00047-gc2ee9f594da8 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024
Call Trace:
 <TASK>
 __dump_stack lib/dump_stack.c:94 [inline]
 dump_stack_lvl+0x241/0x360 lib/dump_stack.c:120
 ubsan_epilogue lib/ubsan.c:231 [inline]
 __ubsan_handle_shift_out_of_bounds+0x3c8/0x420 lib/ubsan.c:468
 validate_sb_layout+0xafa/0xb10 fs/bcachefs/super-io.c:290
 bch2_sb_validate+0x8e4/0xf70 fs/bcachefs/super-io.c:442
 __bch2_read_super+0xc24/0x1380 fs/bcachefs/super-io.c:832
 bch2_fs_open+0x270/0x2f80 fs/bcachefs/super.c:2032
 bch2_fs_get_tree+0x738/0x1710 fs/bcachefs/fs.c:2161
 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:4057 [inline]
 __se_sys_mount+0x2d6/0x3c0 fs/namespace.c:4034
 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:0x7f55733ccb7a
Code: d8 64 89 02 48 c7 c0 ff ff ff ff eb a6 e8 5e 04 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 b8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007fff5b40e1e8 EFLAGS: 00000282 ORIG_RAX: 00000000000000a5
RAX: ffffffffffffffda RBX: 00007fff5b40e1f0 RCX: 00007f55733ccb7a
RDX: 00000000200058c0 RSI: 0000000020005900 RDI: 00007fff5b40e1f0
RBP: 0000000000000004 R08: 00007fff5b40e230 R09: 000000000000594e
R10: 0000000000014001 R11: 0000000000000282 R12: 00007fff5b40e230
R13: 0000000000000003 R14: 0000000001000000 R15: 0000000000000001
 </TASK>
---[ end trace ]---

Crashes (7):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/10/23 11:26 upstream c2ee9f594da8 15fa2979 .config strace log report syz / log C [disk image] [vmlinux] [kernel image] [mounted in repro] ci2-upstream-fs UBSAN: shift-out-of-bounds in validate_sb_layout
2024/10/22 17:06 upstream c2ee9f594da8 a573a9f4 .config console log report syz / log C [disk image (non-bootable)] [vmlinux] [kernel image] [mounted in repro] ci-snapshot-upstream-root UBSAN: shift-out-of-bounds in validate_sb_layout
2024/10/22 16:34 upstream c2ee9f594da8 a573a9f4 .config console log report syz / log C [disk image (non-bootable)] [vmlinux] [kernel image] [mounted in repro] ci-snapshot-upstream-root UBSAN: shift-out-of-bounds in validate_sb_layout
2024/10/29 11:54 upstream e42b1a9a2557 66aeb999 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs UBSAN: shift-out-of-bounds in validate_sb_layout
2024/11/01 03:24 upstream 90602c251cda 96eb609f .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root UBSAN: shift-out-of-bounds in validate_sb_layout
2024/10/27 15:23 upstream 850925a8133c 65e8686b .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root UBSAN: shift-out-of-bounds in validate_sb_layout
2024/10/22 12:40 upstream c2ee9f594da8 a93682b3 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root UBSAN: shift-out-of-bounds in validate_sb_layout
* Struck through repros no longer work on HEAD.