syzbot


UBSAN: shift-out-of-bounds in dbAllocAG (2)

Status: upstream: reported C repro on 2025/03/08 00:00
Subsystems: jfs
[Documentation on labels]
Reported-by: syzbot+fe8264911355151c487f@syzkaller.appspotmail.com
First crash: 8d16h, last: 8d10h
Cause bisection: introduced by (bisect log) :
commit 2b9ac22b12a266eb4fec246a07b504dd4983b16b
Author: Kristian Klausen <kristian@klausen.dk>
Date: Fri Jun 18 11:51:57 2021 +0000

  loop: Fix missing discard support when using LOOP_CONFIGURE

Crash: UBSAN: shift-out-of-bounds in dbAllocAG (log)
Repro: C syz .config
  
Discussions (2)
Title Replies (including bot) Last reply
[PATCH] jfs: validate AG parameters in dbMount() to prevent crashes 1 (1) 2025/03/10 08:56
[syzbot] [jfs?] UBSAN: shift-out-of-bounds in dbAllocAG (2) 0 (1) 2025/03/08 00:00
Similar bugs (1)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream UBSAN: shift-out-of-bounds in dbAllocAG jfs C error 10 863d 895d 22/28 fixed on 2023/02/24 13:50

Sample crash report:
loop0: detected capacity change from 0 to 32768
------------[ cut here ]------------
UBSAN: shift-out-of-bounds in fs/jfs/jfs_dmap.c:1400:9
shift exponent -335544310 is negative
CPU: 0 UID: 0 PID: 5822 Comm: syz-executor130 Not tainted 6.14.0-rc5-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2025
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
 dbAllocAG+0x1087/0x10b0 fs/jfs/jfs_dmap.c:1400
 dbDiscardAG+0x352/0xa20 fs/jfs/jfs_dmap.c:1613
 jfs_ioc_trim+0x45a/0x6b0 fs/jfs/jfs_discard.c:105
 jfs_ioctl+0x2cd/0x3e0 fs/jfs/ioctl.c:131
 vfs_ioctl fs/ioctl.c:51 [inline]
 __do_sys_ioctl fs/ioctl.c:906 [inline]
 __se_sys_ioctl+0xf5/0x170 fs/ioctl.c:892
 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:0x7feb3a0bab19
Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 f1 17 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:00007ffd2811fb58 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007feb3a0bab19
RDX: 0000400000000080 RSI: 00000000c0185879 RDI: 0000000000000004
RBP: 00007feb3a1335f0 R08: 000055557eb534c0 R09: 000055557eb534c0
R10: 0000000000005ef0 R11: 0000000000000246 R12: 00007ffd2811fb80
R13: 00007ffd2811fda8 R14: 431bde82d7b634db R15: 00007feb3a10303b
 </TASK>
---[ end trace ]---

Crashes (4):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/03/03 18:46 upstream 7eb172143d55 c3901742 .config strace log report syz / log C [disk image] [vmlinux] [kernel image] [mounted in repro (corrupt fs)] ci2-upstream-fs UBSAN: shift-out-of-bounds in dbAllocAG
2025/03/03 14:34 upstream 7eb172143d55 c3901742 .config console log report syz / log C [disk image (non-bootable)] [vmlinux] [kernel image] [mounted in repro (corrupt fs)] ci-snapshot-upstream-root UBSAN: shift-out-of-bounds in dbAllocAG
2025/03/03 13:38 upstream 7eb172143d55 c3901742 .config console log report syz / log C [disk image (non-bootable)] [vmlinux] [kernel image] [mounted in repro (corrupt fs)] ci-snapshot-upstream-root UBSAN: shift-out-of-bounds in dbAllocAG
2025/03/03 12:41 upstream 7eb172143d55 c3901742 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root UBSAN: shift-out-of-bounds in dbAllocAG
* Struck through repros no longer work on HEAD.