Hello,
syzbot found the following issue on:
HEAD commit: 4032a894ccb2 Merge android13-5.15 into android13-5.15-lts
git tree: android13-5.15-lts
console output:
https://syzkaller.appspot.com/x/log.txt?x=15fe3482580000
kernel config:
https://syzkaller.appspot.com/x/.config?x=fe17e48fc1689964
dashboard link:
https://syzkaller.appspot.com/bug?extid=967aa521d54edf6fb900
compiler: Debian clang version 20.1.6 (++20250514063057+1e4d39e07757-1~exp1~20250514183223.118), Debian LLD 20.1.6
syz repro:
https://syzkaller.appspot.com/x/repro.syz?x=13fea970580000
C reproducer:
https://syzkaller.appspot.com/x/repro.c?x=1784bff4580000
Downloadable assets:
disk image:
https://storage.googleapis.com/syzbot-assets/2c01887a29d0/disk-4032a894.raw.xz
vmlinux:
https://storage.googleapis.com/syzbot-assets/90633c00c70a/vmlinux-4032a894.xz
kernel image:
https://storage.googleapis.com/syzbot-assets/8c8796a2c816/bzImage-4032a894.xz
mounted in repro:
https://storage.googleapis.com/syzbot-assets/01c9f7473c6b/mount_0.gz
fsck result: failed (log:
https://syzkaller.appspot.com/x/fsck.log?x=1384bff4580000)
IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by:
syzbot+967aa5...@syzkaller.appspotmail.com
loop0: detected capacity change from 0 to 256
exFAT-fs (loop0): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
exFAT-fs (loop0): Medium has reported failures. Some data may be lost.
================================================================================
UBSAN: shift-out-of-bounds in fs/exfat/super.c:520:38
shift exponent 121 is too large for 32-bit type 'int'
CPU: 1 PID: 319 Comm: syz-executor925 Not tainted 5.15.184-syzkaller-00129-g4032a894ccb2 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025
Call Trace:
<TASK>
__dump_stack+0x21/0x30 lib/dump_stack.c:88
dump_stack_lvl+0xee/0x150 lib/dump_stack.c:106
dump_stack+0x15/0x20 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:520 [inline]
__exfat_fill_super fs/exfat/super.c:576 [inline]
exfat_fill_super+0x2930/0x2d00 fs/exfat/super.c:644
get_tree_bdev+0x433/0x670 fs/super.c:1325
exfat_get_tree+0x1c/0x20 fs/exfat/super.c:716
vfs_get_tree+0x89/0x260 fs/super.c:1530
do_new_mount+0x25a/0xa20 fs/namespace.c:3014
path_mount+0x675/0x1020 fs/namespace.c:3344
do_mount fs/namespace.c:3357 [inline]
__do_sys_mount fs/namespace.c:3565 [inline]
__se_sys_mount+0x318/0x380 fs/namespace.c:3542
__x64_sys_mount+0xbf/0xd0 fs/namespace.c:3542
x64_sys_call+0x6bf/0x9a0 arch/x86/include/generated/asm/syscalls_64.h:166
do_syscall_x64 arch/x86/entry/common.c:50 [inline]
do_syscall_64+0x4c/0xa0 arch/x86/entry/common.c:80
entry_SYSCALL_64_after_hwframe+0x66/0xd0
RIP: 0033:0x7fbad0a4a97a
Code: d8 64 89 02 48 c7 c0 ff ff ff ff eb a6 e8 8e 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 b0 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007fbad0a04fd8 EFLAGS: 00000286 ORIG_RAX: 00000000000000a5
RAX: ffffffffffffffda RBX: 00007fbad0a04ff0 RCX: 00007fbad0a4a97a
RDX: 00002000000005c0 RSI: 0000200000000240 RDI: 00007fbad0a04ff0
RBP: 0000200000000240 R08: 00007fbad0a05030 R09: 00000000000014f8
R10: 0000000003000050 R11: 0000000000000286 R12: 00002000000005c0
R13: 00007fbad0a05030 R14: 0000000000000004 R15: 0000000003000050
</TASK>
================================================================================
exFAT-fs (loop0): unable to set blocksize 33554432
exFAT-fs (loop0): failed to read boot sector
exFAT-fs (loop0): failed to recognize exfat type
---
This report is generated by a bot. It may contain errors.
See
https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at
syzk...@googlegroups.com.
syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.
If the report is already addressed, let syzbot know by replying with:
#syz fix: exact-commit-title
If you want syzbot to run the reproducer, reply with:
#syz test: git://repo/address.git branch-or-commit-hash
If you attach or paste a git patch, syzbot will apply it before testing.
If you want to overwrite report's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)
If the report is a duplicate of another one, reply with:
#syz dup: exact-subject-of-another-report
If you want to undo deduplication, reply with:
#syz undup