[v6.1] BUG: unable to handle kernel paging request in ni_write_inode

1 view
Skip to first unread message

syzbot

unread,
Mar 10, 2023, 4:38:52 PM3/10/23
to syzkaller...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: 8a923980a190 Linux 6.1.16
git tree: linux-6.1.y
console output: https://syzkaller.appspot.com/x/log.txt?x=17cd522ac80000
kernel config: https://syzkaller.appspot.com/x/.config?x=fc32d7322291d081
dashboard link: https://syzkaller.appspot.com/bug?extid=ba95aa88fe0e1c3e132f
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/bf09a4a426d0/disk-8a923980.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/99e88c1c3e26/vmlinux-8a923980.xz
kernel image: https://storage.googleapis.com/syzbot-assets/d13a720e0836/Image-8a923980.gz.xz

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

el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:655
el0t_64_sync+0x18c/0x190 arch/arm64/kernel/entry.S:581
Unable to handle kernel paging request at virtual address dfff800000000002
KASAN: null-ptr-deref in range [0x0000000000000010-0x0000000000000017]
Mem abort info:
ESR = 0x0000000096000006
EC = 0x25: DABT (current EL), IL = 32 bits
SET = 0, FnV = 0
EA = 0, S1PTW = 0
FSC = 0x06: level 2 translation fault
Data abort info:
ISV = 0, ISS = 0x00000006
CM = 0, WnR = 0
[dfff800000000002] address between user and kernel address ranges
Internal error: Oops: 0000000096000006 [#1] PREEMPT SMP
Modules linked in:
CPU: 0 PID: 5480 Comm: syz-executor.0 Not tainted 6.1.16-syzkaller #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 : is_rec_inuse fs/ntfs3/ntfs.h:313 [inline]
pc : ni_write_inode+0x178/0xfb8 fs/ntfs3/frecord.c:3246
lr : ni_write_inode+0x144/0xfb8 fs/ntfs3/frecord.c:3240
sp : ffff80002cc071c0
x29: ffff80002cc072d0 x28: 1fffe0001986b80a x27: ffff0000cc35c050
x26: ffff80002cc07240 x25: 0000000000000016 x24: ffff00010ad45140
x23: 0000000000000000 x22: dfff800000000000 x21: ffff0000cc35c000
x20: ffff00010ad45370 x19: ffff700005980e44 x18: 1fffe000368b0376
x17: 0000000000000000 x16: ffff80001224ff0c x15: 0000000000000000
x14: 1ffff00002ae60b0 x13: dfff800000000000 x12: 0000000000040000
x11: ff808000096c4250 x10: 0000000000000002 x9 : ffff00010ad45120
x8 : 0000000000000002 x7 : ffff8000096c4240 x6 : 0000000000000000
x5 : 0000000000000000 x4 : 0000000000000001 x3 : ffff8000126b6aa0
x2 : 0000000000000008 x1 : 0000000000000001 x0 : 0000000000000000
Call trace:
is_rec_inuse fs/ntfs3/ntfs.h:313 [inline]
ni_write_inode+0x178/0xfb8 fs/ntfs3/frecord.c:3246
ntfs_evict_inode+0x70/0xc8 fs/ntfs3/inode.c:1757
evict+0x260/0x68c fs/inode.c:664
iput_final fs/inode.c:1747 [inline]
iput+0x988/0xa6c fs/inode.c:1773
ntfs_new_inode+0x98/0x110 fs/ntfs3/fsntfs.c:1660
ntfs_create_inode+0x3cc/0x2a98 fs/ntfs3/inode.c:1291
ntfs_create+0x54/0x74 fs/ntfs3/namei.c:100
lookup_open fs/namei.c:3413 [inline]
open_last_lookups fs/namei.c:3481 [inline]
path_openat+0xeac/0x2548 fs/namei.c:3711
do_filp_open+0x1bc/0x3cc fs/namei.c:3741
do_sys_openat2+0x128/0x3d8 fs/open.c:1310
do_sys_open fs/open.c:1326 [inline]
__do_sys_openat fs/open.c:1342 [inline]
__se_sys_openat fs/open.c:1337 [inline]
__arm64_sys_openat+0x1f0/0x240 fs/open.c:1337
__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/0x218 arch/arm64/kernel/syscall.c:206
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+0x18c/0x190 arch/arm64/kernel/entry.S:581
Code: d1094289 91005919 f9001fe9 d343ff28 (38f66908)
---[ end trace 0000000000000000 ]---
----------------
Code disassembly (best guess):
0: d1094289 sub x9, x20, #0x250
4: 91005919 add x25, x8, #0x16
8: f9001fe9 str x9, [sp, #56]
c: d343ff28 lsr x8, x25, #3
* 10: 38f66908 ldrsb w8, [x8, x22] <-- trapping instruction


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

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

syzbot

unread,
Mar 10, 2023, 4:56:49 PM3/10/23
to syzkaller...@googlegroups.com
syzbot has found a reproducer for the following issue on:

HEAD commit: 8a923980a190 Linux 6.1.16
git tree: linux-6.1.y
console output: https://syzkaller.appspot.com/x/log.txt?x=12bc3488c80000
kernel config: https://syzkaller.appspot.com/x/.config?x=fc32d7322291d081
dashboard link: https://syzkaller.appspot.com/bug?extid=ba95aa88fe0e1c3e132f
compiler: Debian clang version 15.0.7, GNU ld (GNU Binutils for Debian) 2.35.2
userspace arch: arm64
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=1049e992c80000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=1102e80cc80000
mounted in repro: https://storage.googleapis.com/syzbot-assets/f4278e977456/mount_0.gz

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

__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/0x218 arch/arm64/kernel/syscall.c:206
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+0x18c/0x190 arch/arm64/kernel/entry.S:581
Unable to handle kernel paging request at virtual address dfff800000000002
KASAN: null-ptr-deref in range [0x0000000000000010-0x0000000000000017]
Mem abort info:
ESR = 0x0000000096000006
EC = 0x25: DABT (current EL), IL = 32 bits
SET = 0, FnV = 0
EA = 0, S1PTW = 0
FSC = 0x06: level 2 translation fault
Data abort info:
ISV = 0, ISS = 0x00000006
CM = 0, WnR = 0
[dfff800000000002] address between user and kernel address ranges
Internal error: Oops: 0000000096000006 [#1] PREEMPT SMP
Modules linked in:
CPU: 0 PID: 4308 Comm: syz-executor419 Not tainted 6.1.16-syzkaller #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 : is_rec_inuse fs/ntfs3/ntfs.h:313 [inline]
pc : ni_write_inode+0x178/0xfb8 fs/ntfs3/frecord.c:3246
lr : ni_write_inode+0x144/0xfb8 fs/ntfs3/frecord.c:3240
sp : ffff80001db171c0
x29: ffff80001db172d0 x28: 1fffe0001a3ab00a x27: ffff0000d1d58050
x26: ffff80001db17240 x25: 0000000000000016 x24: ffff0000e0586ec0
x23: 0000000000000000 x22: dfff800000000000 x21: ffff0000d1d58000
x20: ffff0000e05870f0 x19: ffff700003b62e44 x18: ffff80001db16820
x17: 0000000000000000 x16: ffff80001224ff0c x15: 0000000000000000
x14: 1ffff00002ae60b0 x13: dfff800000000000 x12: 00000000a659c3a4
x11: ff808000096c4250 x10: 0000000000000000 x9 : ffff0000e0586ea0

syzbot

unread,
Mar 10, 2023, 5:20:51 PM3/10/23
to syzkaller...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: abddfcf701a5 Linux 5.15.99
git tree: linux-5.15.y
console output: https://syzkaller.appspot.com/x/log.txt?x=11dbbdb8c80000
kernel config: https://syzkaller.appspot.com/x/.config?x=53e47369740caba3
dashboard link: https://syzkaller.appspot.com/bug?extid=c6d855cd72c708070dc5
compiler: Debian clang version 15.0.7, GNU ld (GNU Binutils for Debian) 2.35.2
userspace arch: arm64
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=10bc56a2c80000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=14e272eac80000

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/78c522505d54/disk-abddfcf7.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/caca388168a7/vmlinux-abddfcf7.xz
kernel image: https://storage.googleapis.com/syzbot-assets/e6db198604be/Image-abddfcf7.gz.xz
mounted in repro: https://storage.googleapis.com/syzbot-assets/c03522a853c8/mount_0.gz

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

__invoke_syscall arch/arm64/kernel/syscall.c:38 [inline]
invoke_syscall+0x98/0x2b8 arch/arm64/kernel/syscall.c:52
el0_svc_common+0x138/0x258 arch/arm64/kernel/syscall.c:142
do_el0_svc+0x58/0x14c arch/arm64/kernel/syscall.c:181
el0_svc+0x7c/0x1f0 arch/arm64/kernel/entry-common.c:596
el0t_64_sync_handler+0x84/0xe4 arch/arm64/kernel/entry-common.c:614
el0t_64_sync+0x1a0/0x1a4 <unknown>:584
Unable to handle kernel paging request at virtual address dfff800000000002
Mem abort info:
ESR = 0x0000000096000006
EC = 0x25: DABT (current EL), IL = 32 bits
SET = 0, FnV = 0
EA = 0, S1PTW = 0
FSC = 0x06: level 2 translation fault
Data abort info:
ISV = 0, ISS = 0x00000006
CM = 0, WnR = 0
[dfff800000000002] address between user and kernel address ranges
Internal error: Oops: 96000006 [#1] PREEMPT SMP
Modules linked in:
CPU: 0 PID: 4054 Comm: syz-executor362 Not tainted 5.15.99-syzkaller #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 : is_rec_inuse fs/ntfs3/ntfs.h:313 [inline]
pc : ni_write_inode+0x178/0xfb4 fs/ntfs3/frecord.c:3192
lr : ni_write_inode+0x144/0xfb4 fs/ntfs3/frecord.c:3186
sp : ffff80001cc571c0
x29: ffff80001cc572c0 x28: 1fffe0001ae6080a x27: ffff0000d7304050
x26: ffff80001cc57240 x25: 0000000000000016 x24: ffff0000dc62eec0
x23: 0000000000000000 x22: dfff800000000000 x21: ffff0000d7304000
x20: ffff0000dc62f0f0 x19: ffff70000398ae44 x18: 0000000000000001
x17: ff808000083386a0 x16: ffff800011a09634 x15: ffff8000083386a0
x14: 1ffff0000293806a x13: ffffffffffffffff x12: 0000000000000000
x11: ff808000095ac0d8 x10: 0000000000000000 x9 : ffff0000dc62eea0
x8 : 0000000000000002 x7 : ffff8000095ac0c8 x6 : 0000000000000000
x5 : 0000000000000000 x4 : 0000000000000001 x3 : 0000000000000000
x2 : 0000000000000008 x1 : 0000000000000001 x0 : 0000000000000000
Call trace:
is_rec_inuse fs/ntfs3/ntfs.h:313 [inline]
ni_write_inode+0x178/0xfb4 fs/ntfs3/frecord.c:3192
ntfs_evict_inode+0x70/0xc8 fs/ntfs3/inode.c:1775
evict+0x260/0x68c fs/inode.c:587
iput_final fs/inode.c:1663 [inline]
iput+0x8ec/0x9cc fs/inode.c:1689
ntfs_new_inode+0x98/0x110 fs/ntfs3/fsntfs.c:1689
ntfs_create_inode+0x3d0/0x2ab0 fs/ntfs3/inode.c:1297
ntfs_create+0x54/0x74 fs/ntfs3/namei.c:100
lookup_open fs/namei.c:3334 [inline]
open_last_lookups fs/namei.c:3404 [inline]
path_openat+0xea0/0x26cc fs/namei.c:3612
do_filp_open+0x1a8/0x3b4 fs/namei.c:3642
do_sys_openat2+0x128/0x3d8 fs/open.c:1211
do_sys_open fs/open.c:1227 [inline]
__do_sys_openat fs/open.c:1243 [inline]
__se_sys_openat fs/open.c:1238 [inline]
__arm64_sys_openat+0x1f0/0x240 fs/open.c:1238
__invoke_syscall arch/arm64/kernel/syscall.c:38 [inline]
invoke_syscall+0x98/0x2b8 arch/arm64/kernel/syscall.c:52
el0_svc_common+0x138/0x258 arch/arm64/kernel/syscall.c:142
do_el0_svc+0x58/0x14c arch/arm64/kernel/syscall.c:181
el0_svc+0x7c/0x1f0 arch/arm64/kernel/entry-common.c:596
el0t_64_sync_handler+0x84/0xe4 arch/arm64/kernel/entry-common.c:614
el0t_64_sync+0x1a0/0x1a4 <unknown>:584
Code: d1094289 91005919 f9001fe9 d343ff28 (38f66908)
---[ end trace 7d17cc05c8feea48 ]---
----------------
Code disassembly (best guess):
0: d1094289 sub x9, x20, #0x250
4: 91005919 add x25, x8, #0x16
8: f9001fe9 str x9, [sp, #56]
c: d343ff28 lsr x8, x25, #3
* 10: 38f66908 ldrsb w8, [x8, x22] <-- trapping instruction


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

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.
syzbot can test patches for this issue, for details see:
https://goo.gl/tpsmEJ#testing-patches
Reply all
Reply to author
Forward
0 new messages