[syzbot] [ntfs3?] BUG: unable to handle kernel NULL pointer dereference in indx_find

syzbot
2023-04-11T06:32:56Z

Hello,

syzbot found the following issue on:

HEAD commit: 59caa87f9dfb Merge branch 'for-next/core' 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=11c943edc80000
kernel config: https://syzkaller.appspot.com/x/.config?x=e16f82a1b5110629
dashboard link: https://syzkaller.appspot.com/bug?extid=b3016abcd1c2d60e22a5
compiler: Debian clang version 15.0.7, GNU ld (GNU Binutils for Debian) 2.35.2
userspace arch: arm64

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

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/35da6feb06c7/disk-59caa87f.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/a664ea578945/vmlinux-59caa87f.xz
kernel image: https://storage.googleapis.com/syzbot-assets/536b5b8d367d/Image-59caa87f.gz.xz

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

ntfs3: loop1: failed to convert "0030" to iso8859-6
ntfs3: loop1: failed to convert "0032" to iso8859-6
ntfs3: loop1: failed to convert "0033" to iso8859-6
ntfs3: loop1: failed to convert "076c" to iso8859-6
Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000
Mem abort info:
ESR = 0x0000000086000006
EC = 0x21: IABT (current EL), IL = 32 bits
SET = 0, FnV = 0
EA = 0, S1PTW = 0
FSC = 0x06: level 2 translation fault
user pgtable: 4k pages, 48-bit VAs, pgdp=0000000100ada000
[0000000000000000] pgd=0800000117ab3003, p4d=0800000117ab3003, pud=08000001193d2003, pmd=0000000000000000
Internal error: Oops: 0000000086000006 [#1] PREEMPT SMP
Modules linked in:
CPU: 0 PID: 22739 Comm: syz-executor.1 Not tainted 6.3.0-rc4-syzkaller-g59caa87f9dfb #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/02/2023
pstate: 80400005 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : 0x0
lr : hdr_find_e+0x298/0x4e8 fs/ntfs3/index.c:754
sp : ffff80001f6673e0
x29: ffff80001f6675c0 x28: 000000000000000c x27: 0000000000000000
x26: 0000000000000000 x25: 0000000000000040 x24: 0000000000000000
x23: dfff800000000000 x22: 0000000000000002 x21: 0000000000000030
x20: ffff0000d18a4178 x19: 0000000000000001 x18: ffff80001f667120
x17: ffff800015c7d000 x16: ffff800012273100 x15: ffff800008a74c20
x14: ffff800008a74830 x13: 0000000000000000 x12: 0000000000040000
x11: 0000000000026b1a x10: ffff800024bea000 x9 : 0000000000000003
x8 : 0000000000000000 x7 : 0000000000000000 x6 : 000000000000003f
x5 : 0000000000000040 x4 : 0000000000000000 x3 : 0000000000000000
x2 : ffff0000d18a4188 x1 : 000000000000000c x0 : ffff80001f6678f0
Call trace:
0x0
indx_find+0x2b0/0x9b8 fs/ntfs3/index.c:1141
indx_insert_entry+0x3d8/0x634 fs/ntfs3/index.c:1914
ntfs_insert_reparse+0x184/0x2e0 fs/ntfs3/fsntfs.c:2372
ntfs_create_inode+0x1734/0x2bfc fs/ntfs3/inode.c:1565
ntfs_symlink+0x5c/0x7c fs/ntfs3/namei.c:192
vfs_symlink+0x138/0x260 fs/namei.c:4398
do_symlinkat+0x364/0x6b0 fs/namei.c:4424
__do_sys_symlinkat fs/namei.c:4440 [inline]
__se_sys_symlinkat fs/namei.c:4437 [inline]
__arm64_sys_symlinkat+0xa4/0xbc fs/namei.c:4437
__invoke_syscall arch/arm64/kernel/syscall.c:38 [inline]
invoke_syscall+0x98/0x2c0 arch/arm64/kernel/syscall.c:52
el0_svc_common+0x138/0x258 arch/arm64/kernel/syscall.c:142
do_el0_svc+0x64/0x198 arch/arm64/kernel/syscall.c:193
el0_svc+0x58/0x168 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:591
Code: ???????? ???????? ???????? ???????? (????????)
---[ end trace 0000000000000000 ]---

---
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 syzkaller@googlegroups.com.

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.