Re: [syzbot] WARNING in btrfs_create_new_inode

From: syzbot
Date: Thu Nov 10 2022 - 07:28:49 EST


syzbot has found a reproducer for the following issue on:

HEAD commit: 1621b6eaebf7 Merge branch 'for-next/fixes' into for-kernelci
git tree: git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci
console output: https://syzkaller.appspot.com/x/log.txt?x=16a54f51880000
kernel config: https://syzkaller.appspot.com/x/.config?x=606e57fd25c5c6cc
dashboard link: https://syzkaller.appspot.com/bug?extid=56e0adfbcf0bafbf4f53
compiler: Debian clang version 13.0.1-++20220126092033+75e33f71c2da-1~exp1~20220126212112.63, GNU ld (GNU Binutils for Debian) 2.35.2
userspace arch: arm64
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=102ef615880000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=11239c15880000

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/82aa7741098d/disk-1621b6ea.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/f6be08c4e4c2/vmlinux-1621b6ea.xz
kernel image: https://storage.googleapis.com/syzbot-assets/296b6946258a/Image-1621b6ea.gz.xz
mounted in repro: https://storage.googleapis.com/syzbot-assets/4e79573f852e/mount_0.gz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+56e0adfbcf0bafbf4f53@xxxxxxxxxxxxxxxxxxxxxxxxx

------------[ cut here ]------------
WARNING: CPU: 0 PID: 3054 at fs/btrfs/inode.c:6489 btrfs_create_new_inode+0xc34/0xd38 fs/btrfs/inode.c:6489
Modules linked in:
CPU: 0 PID: 3054 Comm: syz-executor178 Not tainted 6.1.0-rc4-syzkaller-31872-g1621b6eaebf7 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/30/2022
pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : btrfs_create_new_inode+0xc34/0xd38 fs/btrfs/inode.c:6489
lr : btrfs_create_new_inode+0xc34/0xd38 fs/btrfs/inode.c:6489
sp : ffff800012c53b30
x29: ffff800012c53bd0 x28: 00000000fffffff4 x27: ffff0000ca9b6000
x26: ffff0000c98da000 x25: 0000000000000000 x24: 0000000000000000
x23: ffff0000cab18928 x22: ffff800012c53c38 x21: ffff0000cab30490
x20: 0000000000000000 x19: ffff0000cab18db8 x18: 00000000000000c0
x17: ffff80000dcdc198 x16: ffff80000db1a158 x15: ffff0000c6e81a40
x14: 0000000000000000 x13: 00000000ffffffff x12: ffff0000c6e81a40
x11: ff808000081c06c8 x10: 0000000000000000 x9 : 8e47232f63068100
x8 : 8e47232f63068100 x7 : ffff80000c01775c x6 : 0000000000000000
x5 : 0000000000000080 x4 : 0000000000000001 x3 : 0000000000000000
x2 : 0000000000000000 x1 : 0000000100000000 x0 : 0000000000000026
Call trace:
btrfs_create_new_inode+0xc34/0xd38 fs/btrfs/inode.c:6489
btrfs_create_common+0x114/0x1b4 fs/btrfs/inode.c:6639
btrfs_mknod+0x84/0xa8 fs/btrfs/inode.c:6664
vfs_mknod+0x2e8/0x318 fs/namei.c:3914
do_mknodat+0x248/0x3e8
__do_sys_mknodat fs/namei.c:3992 [inline]
__se_sys_mknodat fs/namei.c:3989 [inline]
__arm64_sys_mknodat+0x4c/0x64 fs/namei.c:3989
__invoke_syscall arch/arm64/kernel/syscall.c:38 [inline]
invoke_syscall arch/arm64/kernel/syscall.c:52 [inline]
el0_svc_common+0x138/0x220 arch/arm64/kernel/syscall.c:142
do_el0_svc+0x48/0x164 arch/arm64/kernel/syscall.c:206
el0_svc+0x58/0x150 arch/arm64/kernel/entry-common.c:637
el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:655
el0t_64_sync+0x190/0x194 arch/arm64/kernel/entry.S:584
irq event stamp: 386
hardirqs last enabled at (385): [<ffff8000081be9ac>] __up_console_sem+0xb0/0xfc kernel/printk/printk.c:261
hardirqs last disabled at (386): [<ffff80000c009b8c>] el1_dbg+0x24/0x80 arch/arm64/kernel/entry-common.c:405
softirqs last enabled at (214): [<ffff80000801c38c>] local_bh_enable+0x10/0x34 include/linux/bottom_half.h:32
softirqs last disabled at (212): [<ffff80000801c358>] local_bh_disable+0x10/0x34 include/linux/bottom_half.h:19
---[ end trace 0000000000000000 ]---
BTRFS: error (device loop0: state A) in btrfs_create_new_inode:6489: errno=-12 Out of memory
BTRFS info (device loop0: state EA): forced readonly