KASAN: slab-out-of-bounds Read in ext4_xattr_set_entry

5 views
Skip to first unread message

syzbot

unread,
Jun 12, 2020, 11:36:17 PM6/12/20
to syzkaller...@googlegroups.com
Hello,

syzbot found the following crash on:

HEAD commit: b850307b Linux 4.14.184
git tree: linux-4.14.y
console output: https://syzkaller.appspot.com/x/log.txt?x=13a0597a100000
kernel config: https://syzkaller.appspot.com/x/.config?x=ddc0f08dd6b981c5
dashboard link: https://syzkaller.appspot.com/bug?extid=24073cfacb5e4fa64f99
compiler: gcc (GCC) 9.0.0 20181231 (experimental)

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

IMPORTANT: if you fix the bug, please add the following tag to the commit:
Reported-by: syzbot+24073c...@syzkaller.appspotmail.com

EXT4-fs error (device sda1): ext4_xattr_set_entry:1606: inode #15764: comm syz-executor.5: corrupted xattr entries
==================================================================
BUG: KASAN: slab-out-of-bounds in ext4_xattr_set_entry+0x2e97/0x2eb0 fs/ext4/xattr.c:1603
Read of size 4 at addr ffff88813e9f8004 by task syz-executor.1/6381

CPU: 0 PID: 6381 Comm: syz-executor.1 Not tainted 4.14.184-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Call Trace:
__dump_stack lib/dump_stack.c:17 [inline]
dump_stack+0x1b2/0x283 lib/dump_stack.c:58
print_address_description.cold+0x54/0x1dc mm/kasan/report.c:252
kasan_report_error mm/kasan/report.c:351 [inline]
kasan_report mm/kasan/report.c:409 [inline]
kasan_report.cold+0xa9/0x2b9 mm/kasan/report.c:393
ext4_xattr_set_entry+0x2e97/0x2eb0 fs/ext4/xattr.c:1603
ext4_xattr_ibody_set+0x73/0x280 fs/ext4/xattr.c:2239
ext4_xattr_set_handle+0x4f5/0xda0 fs/ext4/xattr.c:2395
ext4_initxattrs+0xb5/0x110 fs/ext4/xattr_security.c:43
security_inode_init_security security/security.c:492 [inline]
security_inode_init_security+0x236/0x320 security/security.c:465
__ext4_new_inode+0x35ed/0x4e80 fs/ext4/ialloc.c:1171
ext4_mkdir+0x2e4/0xb60 fs/ext4/namei.c:2665
vfs_mkdir+0x3af/0x620 fs/namei.c:3849
SYSC_mkdirat fs/namei.c:3872 [inline]
SyS_mkdirat+0x1b5/0x220 fs/namei.c:3856
do_syscall_64+0x1d5/0x640 arch/x86/entry/common.c:292
entry_SYSCALL_64_after_hwframe+0x46/0xbb
RIP: 0033:0x45bee7
RSP: 002b:00007ffc3ea99388 EFLAGS: 00000206 ORIG_RAX: 0000000000000053
RAX: ffffffffffffffda RBX: 000000000021c2c2 RCX: 000000000045bee7
RDX: 00007ffc3ea993d6 RSI: 00000000000001ff RDI: 00007ffc3ea993d0
RBP: 0000000000004607 R08: 0000000000000000 R09: 0000000000000006
R10: 0000000000000064 R11: 0000000000000206 R12: 0000000000000012
R13: 00007ffc3ea993c0 R14: 000000000021bf8f R15: 00007ffc3ea993d0

Allocated by task 13389:
save_stack mm/kasan/kasan.c:447 [inline]
set_track mm/kasan/kasan.c:459 [inline]
kasan_kmalloc.part.0+0x4f/0xd0 mm/kasan/kasan.c:551
kmem_cache_alloc+0x124/0x3c0 mm/slab.c:3552
getname_flags+0xc8/0x550 fs/namei.c:138
getname fs/namei.c:209 [inline]
user_path_mountpoint_at+0x23/0x40 fs/namei.c:2775
SYSC_umount fs/namespace.c:1730 [inline]
SyS_umount+0x11b/0xc00 fs/namespace.c:1714
do_syscall_64+0x1d5/0x640 arch/x86/entry/common.c:292
entry_SYSCALL_64_after_hwframe+0x46/0xbb

Freed by task 13389:
save_stack mm/kasan/kasan.c:447 [inline]
set_track mm/kasan/kasan.c:459 [inline]
kasan_slab_free+0xaf/0x190 mm/kasan/kasan.c:524
__cache_free mm/slab.c:3496 [inline]
kmem_cache_free+0x7c/0x2b0 mm/slab.c:3758
putname+0xcd/0x110 fs/namei.c:259
filename_mountpoint+0x218/0x320 fs/namei.c:2753
SYSC_umount fs/namespace.c:1730 [inline]
SyS_umount+0x11b/0xc00 fs/namespace.c:1714
do_syscall_64+0x1d5/0x640 arch/x86/entry/common.c:292
entry_SYSCALL_64_after_hwframe+0x46/0xbb

The buggy address belongs to the object at ffff88813e9f8940
which belongs to the cache names_cache of size 4096
The buggy address is located 2364 bytes to the left of
4096-byte region [ffff88813e9f8940, ffff88813e9f9940)
The buggy address belongs to the page:
page:ffffea0004fa7e00 count:1 mapcount:0 mapping:ffff88813e9f8940 index:0x0 compound_mapcount: 0
flags: 0x57ffe0000008100(slab|head)
raw: 057ffe0000008100 ffff88813e9f8940 0000000000000000 0000000100000001
raw: ffffea0004c085a0 ffffea0005c1d0a0 ffff8880aa9dacc0 0000000000000000
page dumped because: kasan: bad access detected

Memory state around the buggy address:
ffff88813e9f7f00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ffff88813e9f7f80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
>ffff88813e9f8000: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
^
ffff88813e9f8080: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
ffff88813e9f8100: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
==================================================================
EXT4-fs error (device sda1): ext4_xattr_set_entry:1606: inode #15706: comm syz-executor.5: corrupted xattr entries
hub 9-0:1.0: USB hub found
hub 9-0:1.0: 8 ports detected


---
This bug 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 bug report. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.

syzbot

unread,
Oct 10, 2020, 11:36:12 PM10/10/20
to syzkaller...@googlegroups.com
Auto-closing this bug as obsolete.
Crashes did not happen for a while, no reproducer and no activity.
Reply all
Reply to author
Forward
0 new messages