UBSAN: undefined-behaviour in f2fs_fill_super

8 views
Skip to first unread message

syzbot

unread,
Sep 21, 2020, 4:34:22 AM9/21/20
to syzkaller...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: 015e94d0 Linux 4.19.146
git tree: linux-4.19.y
console output: https://syzkaller.appspot.com/x/log.txt?x=17993365900000
kernel config: https://syzkaller.appspot.com/x/.config?x=243dd74ad58a8a57
dashboard link: https://syzkaller.appspot.com/bug?extid=2a76c8390cbc8272fa6b
compiler: gcc (GCC) 10.1.0-syz 20200507

Unfortunately, I don't have any reproducer for this issue yet.

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+2a76c8...@syzkaller.appspotmail.com

================================================================================
UBSAN: Undefined behaviour in fs/f2fs/super.c:2227:16
shift exponent 55 is too large for 32-bit type 'int'
CPU: 0 PID: 14623 Comm: syz-executor.5 Not tainted 4.19.146-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Call Trace:
__dump_stack lib/dump_stack.c:77 [inline]
dump_stack+0x22c/0x33e lib/dump_stack.c:118
ubsan_epilogue+0xe/0x3a lib/ubsan.c:161
__ubsan_handle_shift_out_of_bounds.cold+0x1c4/0x250 lib/ubsan.c:422
sanity_check_raw_super fs/f2fs/super.c:2227 [inline]
read_raw_super_block fs/f2fs/super.c:2631 [inline]
f2fs_fill_super.cold+0x1f9/0x5fb fs/f2fs/super.c:2842
mount_bdev+0x2fc/0x3b0 fs/super.c:1158
mount_fs+0xa3/0x318 fs/super.c:1261
vfs_kern_mount.part.0+0x68/0x470 fs/namespace.c:961
vfs_kern_mount fs/namespace.c:951 [inline]
do_new_mount fs/namespace.c:2469 [inline]
do_mount+0x51c/0x2f10 fs/namespace.c:2799
ksys_mount+0xcf/0x130 fs/namespace.c:3015
__do_sys_mount fs/namespace.c:3029 [inline]
__se_sys_mount fs/namespace.c:3026 [inline]
__x64_sys_mount+0xba/0x150 fs/namespace.c:3026
do_syscall_64+0xf9/0x670 arch/x86/entry/common.c:293
entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x46004a
Code: b8 a6 00 00 00 0f 05 48 3d 01 f0 ff ff 0f 83 fd 89 fb ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 49 89 ca b8 a5 00 00 00 0f 05 <48> 3d 01 f0 ff ff 0f 83 da 89 fb ff c3 66 0f 1f 84 00 00 00 00 00
RSP: 002b:00007f4792928a88 EFLAGS: 00000202 ORIG_RAX: 00000000000000a5
RAX: ffffffffffffffda RBX: 00007f4792928b20 RCX: 000000000046004a
RDX: 0000000020000000 RSI: 0000000020000100 RDI: 00007f4792928ae0
RBP: 00007f4792928ae0 R08: 00007f4792928b20 R09: 0000000020000000
R10: 0000000000000000 R11: 0000000000000202 R12: 0000000020000000
R13: 0000000020000100 R14: 0000000020000200 R15: 0000000020014b00
================================================================================
EXT4-fs (loop1): mounted filesystem without journal. Opts: ,errors=continue
FAT-fs (loop2): Directory bread(block 1097764) failed
FAT-fs (loop2): Directory bread(block 1097765) failed
FAT-fs (loop2): Directory bread(block 1097766) failed
FAT-fs (loop2): Directory bread(block 1097767) failed
FAT-fs (loop2): Directory bread(block 1097768) failed
FAT-fs (loop2): Directory bread(block 1097769) failed
FAT-fs (loop2): Directory bread(block 1097770) failed
FAT-fs (loop2): Directory bread(block 1097771) failed
FAT-fs (loop2): Directory bread(block 1097772) failed
FAT-fs (loop2): Directory bread(block 1097773) failed
F2FS-fs (loop5): Invalid blocksize (8388608), supports only 4KB

F2FS-fs (loop5): Can't find valid F2FS filesystem in 1th superblock
F2FS-fs (loop5): Found nat_bits in checkpoint
F2FS-fs (loop5): Mounted with checkpoint version = 7ad43cd7
F2FS-fs (loop5): Invalid blocksize (2147483648), supports only 4KB

EXT4-fs (loop1): mounted filesystem without journal. Opts: ,errors=continue
F2FS-fs (loop5): Can't find valid F2FS filesystem in 1th superblock
FAT-fs (loop2): Directory bread(block 1098788) failed
FAT-fs (loop2): Directory bread(block 1098789) failed
F2FS-fs (loop5): Found nat_bits in checkpoint
FAT-fs (loop2): Directory bread(block 1098790) failed
FAT-fs (loop2): Directory bread(block 1098791) failed
FAT-fs (loop2): Directory bread(block 1098792) failed
FAT-fs (loop2): Directory bread(block 1098793) failed
FAT-fs (loop2): Directory bread(block 1098794) failed
FAT-fs (loop2): Directory bread(block 1098795) failed
FAT-fs (loop2): Directory bread(block 1098796) failed
FAT-fs (loop2): Directory bread(block 1098797) failed
EXT4-fs (loop1): mounted filesystem without journal. Opts: ,errors=continue
F2FS-fs (loop5): Mounted with checkpoint version = 7ad43cd7
EXT4-fs (loop1): mounted filesystem without journal. Opts: ,errors=continue
FAT-fs (loop2): Directory bread(block 1099812) failed
F2FS-fs (loop5): Invalid blocksize (1073741824), supports only 4KB

FAT-fs (loop2): Directory bread(block 1099813) failed
FAT-fs (loop2): Directory bread(block 1099814) failed
FAT-fs (loop2): Directory bread(block 1099815) failed
FAT-fs (loop2): Directory bread(block 1099816) failed
FAT-fs (loop2): Directory bread(block 1099817) failed
FAT-fs (loop2): Directory bread(block 1099818) failed
EXT4-fs (loop1): mounted filesystem without journal. Opts: ,errors=continue
FAT-fs (loop2): Directory bread(block 1099819) failed
FAT-fs (loop2): Directory bread(block 1099820) failed
FAT-fs (loop2): Directory bread(block 1099821) failed
FAT-fs (loop2): Directory bread(block 1100836) failed
FAT-fs (loop2): Directory bread(block 1100837) failed
EXT4-fs (loop1): mounted filesystem without journal. Opts: ,errors=continue
FAT-fs (loop2): Directory bread(block 1100838) failed
FAT-fs (loop2): Directory bread(block 1100839) failed
FAT-fs (loop2): Directory bread(block 1100840) failed
FAT-fs (loop2): Directory bread(block 1100841) failed
FAT-fs (loop2): Directory bread(block 1100842) failed
FAT-fs (loop2): Directory bread(block 1100843) failed
FAT-fs (loop2): Directory bread(block 1100844) failed
FAT-fs (loop2): Directory bread(block 1100845) failed
EXT4-fs (loop1): mounted filesystem without journal. Opts: ,errors=continue
FAT-fs (loop2): Directory bread(block 1101860) failed
FAT-fs (loop2): Directory bread(block 1101861) failed
FAT-fs (loop2): Directory bread(block 1101862) failed
FAT-fs (loop2): Directory bread(block 1101863) failed
FAT-fs (loop2): Directory bread(block 1101864) failed
FAT-fs (loop2): Directory bread(block 1101865) failed
FAT-fs (loop2): Directory bread(block 1101866) failed
FAT-fs (loop2): Directory bread(block 1101867) failed
FAT-fs (loop2): Directory bread(block 1101868) failed
FAT-fs (loop2): Directory bread(block 1101869) failed
FAT-fs (loop2): Directory bread(block 1102884) failed
FAT-fs (loop2): Directory bread(block 1102885) failed
FAT-fs (loop2): Directory bread(block 1102886) failed
FAT-fs (loop2): Directory bread(block 1102887) failed
EXT4-fs (loop1): mounted filesystem without journal. Opts: ,errors=continue
FAT-fs (loop2): Directory bread(block 1102888) failed
FAT-fs (loop2): Directory bread(block 1102889) failed
FAT-fs (loop2): Directory bread(block 1102890) failed
FAT-fs (loop2): Directory bread(block 1102891) failed
FAT-fs (loop2): Directory bread(block 1102892) failed
FAT-fs (loop2): Directory bread(block 1102893) failed
EXT4-fs (loop1): mounted filesystem without journal. Opts: ,errors=continue
FAT-fs (loop2): Directory bread(block 1103908) failed
FAT-fs (loop2): Directory bread(block 1103909) failed
EXT4-fs (loop1): mounted filesystem without journal. Opts: ,errors=continue
FAT-fs (loop2): Directory bread(block 1103910) failed
f2fs_msg: 19 callbacks suppressed
F2FS-fs (loop5): Invalid log sectors per block(393219) log sectorsize(9)
FAT-fs (loop2): Directory bread(block 1103911) failed
F2FS-fs (loop5): Can't find valid F2FS filesystem in 1th superblock
FAT-fs (loop2): Directory bread(block 1103912) failed
FAT-fs (loop2): Directory bread(block 1103913) failed
FAT-fs (loop2): Directory bread(block 1103914) failed
FAT-fs (loop2): Directory bread(block 1103915) failed
F2FS-fs (loop5): Found nat_bits in checkpoint
FAT-fs (loop2): Directory bread(block 1103916) failed
FAT-fs (loop2): Directory bread(block 1103917) failed
EXT4-fs (loop1): mounted filesystem without journal. Opts: ,errors=continue
F2FS-fs (loop5): Mounted with checkpoint version = 7ad43cd7
FAT-fs (loop2): Directory bread(block 1310756) failed
FAT-fs (loop2): Directory bread(block 1310757) failed
FAT-fs (loop2): Directory bread(block 1310758) failed
FAT-fs (loop2): Directory bread(block 1310759) failed
FAT-fs (loop2): Directory bread(block 1310760) failed
FAT-fs (loop2): Directory bread(block 1310761) failed
FAT-fs (loop2): Directory bread(block 1310762) failed
FAT-fs (loop2): Directory bread(block 1310763) failed
FAT-fs (loop2): Directory bread(block 1310764) failed
FAT-fs (loop2): Directory bread(block 1310765) failed
EXT4-fs (loop1): mounted filesystem without journal. Opts: ,errors=continue
F2FS-fs (loop5): Invalid log sectors per block(458755) log sectorsize(9)
FAT-fs (loop2): Directory bread(block 1572900) failed
F2FS-fs (loop5): Can't find valid F2FS filesystem in 1th superblock
FAT-fs (loop2): Directory bread(block 1572901) failed
EXT4-fs (loop1): mounted filesystem without journal. Opts: ,errors=continue
FAT-fs (loop2): Directory bread(block 1572902) failed
F2FS-fs (loop5): Found nat_bits in checkpoint
FAT-fs (loop2): Directory bread(block 1572903) failed
FAT-fs (loop2): Directory bread(block 1572904) failed
FAT-fs (loop2): Directory bread(block 1572905) failed
FAT-fs (loop2): Directory bread(block 1572906) failed
FAT-fs (loop2): Directory bread(block 1572907) failed
FAT-fs (loop2): Directory bread(block 1572908) failed
F2FS-fs (loop5): Mounted with checkpoint version = 7ad43cd7
FAT-fs (loop2): Directory bread(block 1572909) failed
EXT4-fs (loop1): mounted filesystem without journal. Opts: ,errors=continue
F2FS-fs (loop5): Invalid log sectors per block(589827) log sectorsize(9)
FAT-fs (loop2): Directory bread(block 1835044) failed
FAT-fs (loop2): Directory bread(block 1835045) failed
F2FS-fs (loop5): Can't find valid F2FS filesystem in 1th superblock
FAT-fs (loop2): Directory bread(block 1835046) failed
FAT-fs (loop2): Directory bread(block 1835047) failed
FAT-fs (loop2): Directory bread(block 1835048) failed
FAT-fs (loop2): Directory bread(block 1835049) failed
FAT-fs (loop2): Directory bread(block 1835050) failed
FAT-fs (loop2): Directory bread(block 1835051) failed
EXT4-fs (loop1): mounted filesystem without journal. Opts: ,errors=continue
FAT-fs (loop2): Directory bread(block 1835052) failed
FAT-fs (loop2): Directory bread(block 1835053) failed
FAT-fs (loop2): count of clusters too big (301990398)
FAT-fs (loop2): Can't find a valid FAT filesystem
FAT-fs (loop2): count of clusters too big (301990398)
FAT-fs (loop2): Can't find a valid FAT filesystem
EXT4-fs (loop1): mounted filesystem without journal. Opts: ,errors=continue
FAT-fs (loop2): count of clusters too big (469762558)
FAT-fs (loop2): Can't find a valid FAT filesystem
EXT4-fs (loop1): mounted filesystem without journal. Opts: ,errors=continue


---
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.

syzbot

unread,
Sep 21, 2020, 6:26:16 AM9/21/20
to syzkaller...@googlegroups.com
syzbot has found a reproducer for the following issue on:

HEAD commit: 015e94d0 Linux 4.19.146
git tree: linux-4.19.y
console output: https://syzkaller.appspot.com/x/log.txt?x=10794173900000
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=1038a0d3900000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=141289ab900000

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+2a76c8...@syzkaller.appspotmail.com

audit: type=1400 audit(1600683842.417:8): avc: denied { execmem } for pid=6465 comm="syz-executor555" scontext=system_u:system_r:kernel_t:s0 tcontext=system_u:system_r:kernel_t:s0 tclass=process permissive=1
================================================================================
UBSAN: Undefined behaviour in fs/f2fs/super.c:2227:16
shift exponent 55 is too large for 32-bit type 'int'
CPU: 1 PID: 6465 Comm: syz-executor555 Not tainted 4.19.146-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Call Trace:
__dump_stack lib/dump_stack.c:77 [inline]
dump_stack+0x22c/0x33e lib/dump_stack.c:118
ubsan_epilogue+0xe/0x3a lib/ubsan.c:161
__ubsan_handle_shift_out_of_bounds.cold+0x1c4/0x250 lib/ubsan.c:422
sanity_check_raw_super fs/f2fs/super.c:2227 [inline]
read_raw_super_block fs/f2fs/super.c:2631 [inline]
f2fs_fill_super.cold+0x1f9/0x5fb fs/f2fs/super.c:2842
mount_bdev+0x2fc/0x3b0 fs/super.c:1158
mount_fs+0xa3/0x318 fs/super.c:1261
vfs_kern_mount.part.0+0x68/0x470 fs/namespace.c:961
vfs_kern_mount fs/namespace.c:951 [inline]
do_new_mount fs/namespace.c:2469 [inline]
do_mount+0x51c/0x2f10 fs/namespace.c:2799
ksys_mount+0xcf/0x130 fs/namespace.c:3015
__do_sys_mount fs/namespace.c:3029 [inline]
__se_sys_mount fs/namespace.c:3026 [inline]
__x64_sys_mount+0xba/0x150 fs/namespace.c:3026
do_syscall_64+0xf9/0x670 arch/x86/entry/common.c:293
entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x44776a
Code: b8 08 00 00 00 0f 05 48 3d 01 f0 ff ff 0f 83 fd ad fb ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 49 89 ca b8 a5 00 00 00 0f 05 <48> 3d 01 f0 ff ff 0f 83 da ad fb ff c3 66 0f 1f 84 00 00 00 00 00
RSP: 002b:00007ffe53ce7248 EFLAGS: 00000297 ORIG_RAX: 00000000000000a5
RAX: ffffffffffffffda RBX: 00007ffe53ce72a0 RCX: 000000000044776a
RDX: 0000000020000000 RSI: 0000000020000100 RDI: 00007ffe53ce7260
RBP: 00007ffe53ce7260 R08: 00007ffe53ce72a0 R09: 00007ffe00000015
R10: 0000000000000000 R11: 0000000000000297 R12: 0000000000000045
R13: 0000000000000004 R14: 0000000000000003 R15: 0000000000000003
================================================================================
F2FS-fs (loop0): Invalid blocksize (8388608), supports only 4KB

F2FS-fs (loop0): Can't find valid F2FS filesystem in 1th superblock
F2FS-fs (loop0): Magic Mismatch, valid(0xf2f52010) - read(0x0)
F2FS-fs (loop0): Can't find valid F2FS filesystem in 2th superblock
F2FS-fs (loop0): Invalid blocksize (8388608), supports only 4KB

F2FS-fs (loop0): Can't find valid F2FS filesystem in 1th superblock
F2FS-fs (loop0): Magic Mismatch, valid(0xf2f52010)

Reply all
Reply to author
Forward
0 new messages