syzbot


UBSAN: shift-out-of-bounds in exfat_fill_super

Status: upstream: reported C repro on 2025/04/16 14:18
Bug presence: origin:upstream
[Documentation on labels]
Reported-by: syzbot+619a09223476d86149f7@syzkaller.appspotmail.com
First crash: 224d, last: 3d15h
Bug presence (2)
Date Name Commit Repro Result
2025/04/16 lts (merge base) 3a8358583626 C [report] UBSAN: shift-out-of-bounds in exfat_fill_super
2025/05/01 upstream (ToT) 4f79eaa2ceac C [report] UBSAN: shift-out-of-bounds in exfat_fill_super
Similar bugs (5)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream UBSAN: shift-out-of-bounds in exfat_fill_super (2) exfat -1 1 743d 739d 0/29 auto-obsoleted due to no activity on 2024/02/22 05:01
upstream UBSAN: shift-out-of-bounds in exfat_fill_super exfat -1 C error 3 1748d 1766d 20/29 fixed on 2021/04/09 19:46
linux-5.15 UBSAN: shift-out-of-bounds in exfat_fill_super (2) origin:lts-only -1 C 3 11d 66d 0/3 upstream: reported C repro on 2025/09/21 18:12
linux-5.15 UBSAN: shift-out-of-bounds in exfat_fill_super -1 1 166d 166d 0/3 auto-obsoleted due to no activity on 2025/09/21 09:33
android-5-15 UBSAN: shift-out-of-bounds in exfat_fill_super origin:lts -1 C 11 3d08h 180d 0/2 upstream: reported C repro on 2025/05/30 13:08
Last patch testing requests (5)
Created Duration User Patch Repo Result
2025/11/23 04:47 6m retest repro android14-6.1 report log
2025/11/23 04:47 6m retest repro android14-6.1 report log
2025/11/13 07:03 51m junjie.cao@intel.com https://github.com/Junjie650/linux.git exfat-ubsan-guard report log
2025/10/09 14:50 11m retest repro android14-6.1 report log
2025/07/19 16:16 15m retest repro android14-6.1 report log
Fix bisection attempts (4)
Created Duration User Patch Repo Result
2025/09/24 00:23 1h16m bisect fix android14-6.1 OK (0) job log log
2025/08/20 17:00 1h11m bisect fix android14-6.1 OK (0) job log log
2025/07/05 11:15 2h44m bisect fix android14-6.1 OK (0) job log log
2025/06/03 04:35 54m bisect fix android14-6.1 OK (0) job log log

Sample crash report:
loop2: detected capacity change from 0 to 256
exFAT-fs (loop2): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
exFAT-fs (loop2): Medium has reported failures. Some data may be lost.
================================================================================
UBSAN: shift-out-of-bounds in fs/exfat/super.c:529:38
shift exponent 185 is too large for 32-bit type 'int'
CPU: 1 PID: 391 Comm: syz.2.22 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/02/2025
Call Trace:
 <TASK>
 __dump_stack+0x21/0x24 lib/dump_stack.c:88
 dump_stack_lvl+0xee/0x150 lib/dump_stack.c:106
 dump_stack+0x15/0x24 lib/dump_stack.c:113
 ubsan_epilogue+0xe/0x40 lib/ubsan.c:151
 __ubsan_handle_shift_out_of_bounds+0x37c/0x400 lib/ubsan.c:321
 exfat_read_boot_sector fs/exfat/super.c:529 [inline]
 __exfat_fill_super fs/exfat/super.c:585 [inline]
 exfat_fill_super+0x27e9/0x2bb0 fs/exfat/super.c:649
 get_tree_bdev+0x444/0x680 fs/super.c:1368
 exfat_get_tree+0x1c/0x20 fs/exfat/super.c:721
 vfs_get_tree+0x9a/0x270 fs/super.c:1575
 do_new_mount+0x25a/0xa20 fs/namespace.c:3069
 path_mount+0x675/0x1010 fs/namespace.c:3399
 do_mount fs/namespace.c:3412 [inline]
 __do_sys_mount fs/namespace.c:3620 [inline]
 __se_sys_mount+0x318/0x380 fs/namespace.c:3597
 __x64_sys_mount+0xbf/0xd0 fs/namespace.c:3597
 x64_sys_call+0x65d/0x9a0 arch/x86/include/generated/asm/syscalls_64.h:166
 do_syscall_x64 arch/x86/entry/common.c:51 [inline]
 do_syscall_64+0x4c/0xa0 arch/x86/entry/common.c:81
 entry_SYSCALL_64_after_hwframe+0x68/0xd2
RIP: 0033:0x7f6188b90e6a
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:00007f6189a2ae68 EFLAGS: 00000246 ORIG_RAX: 00000000000000a5
RAX: ffffffffffffffda RBX: 00007f6189a2aef0 RCX: 00007f6188b90e6a
RDX: 0000200000000000 RSI: 0000200000000240 RDI: 00007f6189a2aeb0
RBP: 0000200000000000 R08: 00007f6189a2aef0 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000200000000240
R13: 00007f6189a2aeb0 R14: 00000000000014fe R15: 0000200000000600
 </TASK>
================================================================================
exFAT-fs (loop2): unable to set blocksize 33554432
exFAT-fs (loop2): failed to read boot sector
exFAT-fs (loop2): failed to recognize exfat type

Crashes (5):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/11/09 02:09 android14-6.1 50ba6c46f3ac 4e1406b4 .config console log report syz / log C [disk image] [vmlinux] [kernel image] [mounted in repro (corrupt fs)] ci2-android-6-1 UBSAN: shift-out-of-bounds in exfat_fill_super
2025/11/09 01:49 android14-6.1 50ba6c46f3ac 4e1406b4 .config console log report syz / log C [disk image] [vmlinux] [kernel image] [mounted in repro (corrupt fs)] ci2-android-6-1 UBSAN: shift-out-of-bounds in exfat_fill_super
2025/04/16 14:39 android14-6.1 efda22f3484c a95239b1 .config strace log report syz / log C [disk image] [vmlinux] [kernel image] [mounted in repro (corrupt fs)] ci2-android-6-1 UBSAN: shift-out-of-bounds in exfat_fill_super
2025/04/16 14:12 android14-6.1 efda22f3484c a95239b1 .config strace log report syz / log C [disk image] [vmlinux] [kernel image] [mounted in repro (corrupt fs)] ci2-android-6-1 UBSAN: shift-out-of-bounds in exfat_fill_super
2025/04/16 13:43 android14-6.1 efda22f3484c a95239b1 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-6-1 UBSAN: shift-out-of-bounds in exfat_fill_super
* Struck through repros no longer work on HEAD.