WARNING: kmalloc bug in vfs_getxattr_alloc
From: syzbot
Date: Wed Jul 18 2018 - 02:39:09 EST
Hello,
syzbot found the following crash on:
HEAD commit: 1dcbe5f2c615 Add linux-next specific files for 20180717
git tree: linux-next
console output: https://syzkaller.appspot.com/x/log.txt?x=12158f70400000
kernel config: https://syzkaller.appspot.com/x/.config?x=ea5926dddb0db97a
dashboard link: https://syzkaller.appspot.com/bug?extid=af1504df0807a083dbd9
compiler: gcc (GCC) 8.0.1 20180413 (experimental)
syzkaller repro:https://syzkaller.appspot.com/x/repro.syz?x=177631c2400000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=13722bb2400000
IMPORTANT: if you fix the bug, please add the following tag to the commit:
Reported-by: syzbot+af1504df0807a083dbd9@xxxxxxxxxxxxxxxxxxxxxxxxx
random: sshd: uninitialized urandom read (32 bytes read)
random: sshd: uninitialized urandom read (32 bytes read)
random: sshd: uninitialized urandom read (32 bytes read)
random: sshd: uninitialized urandom read (32 bytes read)
random: sshd: uninitialized urandom read (32 bytes read)
WARNING: CPU: 0 PID: 4458 at mm/slab_common.c:1031 kmalloc_slab+0x56/0x70
mm/slab_common.c:1031
Kernel panic - not syncing: panic_on_warn set ...
CPU: 0 PID: 4458 Comm: syz-executor537 Not tainted
4.18.0-rc5-next-20180717+ #9
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+0x1c9/0x2b4 lib/dump_stack.c:113
panic+0x238/0x4e7 kernel/panic.c:184
__warn.cold.8+0x163/0x1ba kernel/panic.c:536
report_bug+0x252/0x2d0 lib/bug.c:186
fixup_bug arch/x86/kernel/traps.c:178 [inline]
do_error_trap+0x1fc/0x4d0 arch/x86/kernel/traps.c:296
do_invalid_op+0x1b/0x20 arch/x86/kernel/traps.c:316
invalid_op+0x14/0x20 arch/x86/entry/entry_64.S:996
RIP: 0010:kmalloc_slab+0x56/0x70 mm/slab_common.c:1031
Code: c5 c0 0a d1 88 5d c3 b8 10 00 00 00 48 85 ff 74 f4 83 ef 01 c1 ef 03
0f b6 87 e0 09 d1 88 eb d8 31 c0 81 e6 00 02 00 00 75 db <0f> 0b 5d c3 48
8b 04 c5 00 0a d1 88 5d c3 66 90 66 2e 0f 1f 84 00
RSP: 0018:ffff8801ace9f830 EFLAGS: 00010246
RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffffffff81d0c52d
RDX: ffffffff81d0c5c4 RSI: 0000000000000000 RDI: 000000002f2e0008
RBP: ffff8801ace9f830 R08: ffff8801ac920700 R09: fffffbfff125691c
R10: fffffbfff125691c R11: ffffffff892b48e3 R12: 000000002f2e0008
R13: 0000000000600040 R14: ffff8801ace9f998 R15: 0000000000600040
__do_kmalloc mm/slab.c:3713 [inline]
__kmalloc_track_caller+0x21/0x760 mm/slab.c:3733
__do_krealloc mm/slab_common.c:1468 [inline]
krealloc+0x65/0xb0 mm/slab_common.c:1515
vfs_getxattr_alloc+0x274/0x3c0 fs/xattr.c:288
cap_inode_getsecurity+0x104/0x820 security/commoncap.c:396
security_inode_getsecurity+0xe1/0x130 security/security.c:866
xattr_getsecurity fs/xattr.c:243 [inline]
vfs_getxattr+0x1db/0x390 fs/xattr.c:331
getxattr+0x139/0x2c0 fs/xattr.c:537
path_getxattr+0x103/0x1b0 fs/xattr.c:565
__do_sys_getxattr fs/xattr.c:577 [inline]
__se_sys_getxattr fs/xattr.c:574 [inline]
__x64_sys_getxattr+0x9d/0x100 fs/xattr.c:574
do_syscall_64+0x1b9/0x820 arch/x86/entry/common.c:290
entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x440559
Code: 18 89 d0 c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 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 fb 13 fc ff c3 66 2e 0f 1f 84 00 00 00 00
RSP: 002b:00007fff684abf58 EFLAGS: 00000217 ORIG_RAX: 00000000000000bf
RAX: ffffffffffffffda RBX: 0030656c69662f2e RCX: 0000000000440559
RDX: 00000000200002c0 RSI: 0000000020000500 RDI: 00000000200004c0
RBP: 64663d736e617274 R08: 00007fff684ac0d8 R09: 00007fff684ac0d8
R10: 0000000000000143 R11: 0000000000000217 R12: 0000000000401de0
R13: 0000000000401e70 R14: 0000000000000000 R15: 0000000000000000
Dumping ftrace buffer:
(ftrace buffer empty)
Kernel Offset: disabled
Rebooting in 86400 seconds..
---
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 syzkaller@xxxxxxxxxxxxxxxxx
syzbot will keep track of this bug report. See:
https://goo.gl/tpsmEJ#bug-status-tracking for how to communicate with
syzbot.
syzbot can test patches for this bug, for details see:
https://goo.gl/tpsmEJ#testing-patches