syzbot


KASAN: use-after-free Write in __ext4_expand_extra_isize

Status: auto-closed as invalid on 2020/03/22 21:28
Reported-by: syzbot+ff051a37ab79372ca3e6@syzkaller.appspotmail.com
First crash: 1677d, last: 1616d
Similar bugs (4)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-4.14 KASAN: use-after-free Write in __ext4_expand_extra_isize 11 1628d 1739d 0/1 auto-closed as invalid on 2020/03/10 14:13
upstream KASAN: use-after-free Write in __ext4_expand_extra_isize ext4 C 95 1825d 2216d 12/26 fixed on 2019/06/14 18:22
upstream KASAN: use-after-free Write in __ext4_expand_extra_isize (2) ext4 14 1632d 1649d 15/26 fixed on 2019/12/13 00:31
android-414 KASAN: use-after-free Write in __ext4_expand_extra_isize 65 1607d 1841d 0/1 auto-closed as invalid on 2020/03/31 02:59

Sample crash report:
==================================================================
BUG: KASAN: use-after-free in memset include/linux/string.h:333 [inline]
BUG: KASAN: use-after-free in __ext4_expand_extra_isize+0x175/0x250 fs/ext4/inode.c:5916
EXT4-fs error (device sda1): ext4_xattr_set_entry:1607: inode #16529: comm syz-executor.2: corrupted xattr entries
Write of size 32737 at addr ffff88807f5890a0 by task syz-executor.5/10346

CPU: 1 PID: 10346 Comm: syz-executor.5 Not tainted 4.19.85-syzkaller #0
EXT4-fs error (device sda1): ext4_xattr_set_entry:1607: inode #16513: comm syz-executor.0: corrupted xattr entries
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+0x197/0x210 lib/dump_stack.c:118
 print_address_description.cold+0x7c/0x20d mm/kasan/report.c:256
overlayfs: unrecognized mount option "upperdiJ.Éfi™ãHþ " or missing value
 kasan_report_error mm/kasan/report.c:354 [inline]
 kasan_report mm/kasan/report.c:412 [inline]
 kasan_report.cold+0x8c/0x2ba mm/kasan/report.c:396
 check_memory_region_inline mm/kasan/kasan.c:260 [inline]
 check_memory_region+0x123/0x190 mm/kasan/kasan.c:267
 memset+0x24/0x40 mm/kasan/kasan.c:285
 memset include/linux/string.h:333 [inline]
 __ext4_expand_extra_isize+0x175/0x250 fs/ext4/inode.c:5916
 ext4_try_to_expand_extra_isize fs/ext4/inode.c:5968 [inline]
 ext4_mark_inode_dirty+0x6f0/0x940 fs/ext4/inode.c:6044
EXT4-fs error (device sda1): ext4_xattr_set_entry:1607: inode #16514: comm syz-executor.2: corrupted xattr entries
EXT4-fs error (device sda1): ext4_xattr_set_entry:1607: inode #16514: comm syz-executor.2: corrupted xattr entries
 ext4_ext_truncate+0x92/0x200 fs/ext4/extents.c:4645
 ext4_truncate+0xdf9/0x13d0 fs/ext4/inode.c:4523
EXT4-fs error (device sda1): ext4_xattr_set_entry:1607: inode #16514: comm syz-executor.1: corrupted xattr entries
 ext4_setattr+0x1ae8/0x24a0 fs/ext4/inode.c:5658
overlayfs: unrecognized mount option "upperdiJ.Éfi™ãHþ " or missing value
 notify_change+0xad7/0xfb0 fs/attr.c:334
 do_truncate+0x158/0x220 fs/open.c:63
 handle_truncate fs/namei.c:3008 [inline]
 do_last fs/namei.c:3424 [inline]
 path_openat+0x2c27/0x45e0 fs/namei.c:3534
MPI: mpi too large (16392 bits)
EXT4-fs error (device sda1): ext4_xattr_set_entry:1607: inode #16513: comm syz-executor.2: corrupted xattr entries
 do_filp_open+0x1a1/0x280 fs/namei.c:3564
 do_sys_open+0x3fe/0x550 fs/open.c:1088
 ksys_open include/linux/syscalls.h:1276 [inline]
 __do_sys_creat fs/open.c:1146 [inline]
 __se_sys_creat fs/open.c:1144 [inline]
 __x64_sys_creat+0x61/0x80 fs/open.c:1144
 do_syscall_64+0xfd/0x620 arch/x86/entry/common.c:293
 entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x45a639
Code: ad b6 fb ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 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 0f 83 7b b6 fb ff c3 66 2e 0f 1f 84 00 00 00 00
RSP: 002b:00007fe78d3e1c78 EFLAGS: 00000246 ORIG_RAX: 0000000000000055
RAX: ffffffffffffffda RBX: 0000000000000002 RCX: 000000000045a639
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000020000280
RBP: 000000000075c070 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 00007fe78d3e26d4
R13: 00000000004c0ee8 R14: 00000000004d3be0 R15: 00000000ffffffff

The buggy address belongs to the page:
page:ffffea0001fd6240 count:2 mapcount:0 mapping:ffff8882190d1a58 index:0x432
flags: 0x1fffc0000001064(referenced|lru|active|private)
raw: 01fffc0000001064 ffffea0001c8c988 ffffea0001ab2d48 ffff8882190d1a58
raw: 0000000000000432 ffff888097166930 00000002ffffffff ffff88808c57cb00
page dumped because: kasan: bad access detected
page->mem_cgroup:ffff88808c57cb00

Memory state around the buggy address:
 ffff88807f589f00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 ffff88807f589f80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
>ffff88807f58a000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
                   ^
 ffff88807f58a080: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
 ffff88807f58a100: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
==================================================================

Crashes (7):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2019/11/23 21:27 linux-4.19.y c63ee2939dc1 598ca6c8 .config console log report ci2-linux-4-19
2019/11/09 21:58 linux-4.19.y 5ee93551c703 1e35461e .config console log report ci2-linux-4-19
2019/11/01 10:16 linux-4.19.y ef244c308885 a41ca8fa .config console log report ci2-linux-4-19
2019/10/21 09:23 linux-4.19.y c3038e718a19 8c88c9c1 .config console log report ci2-linux-4-19
2019/10/21 06:04 linux-4.19.y c3038e718a19 8c88c9c1 .config console log report ci2-linux-4-19
2019/10/03 00:05 linux-4.19.y 555161ee1b7a 2e29b534 .config console log report ci2-linux-4-19
2019/09/23 05:26 linux-4.19.y d573e8a79f70 d96e88f3 .config console log report ci2-linux-4-19
* Struck through repros no longer work on HEAD.