[v5.15] BUG: unable to handle kernel paging request in ni_readpage_cmpr

0 views
Skip to first unread message

syzbot

unread,
Aug 27, 2023, 4:46:57 PM8/27/23
to syzkaller...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: 5ddfe5cc8716 Linux 5.15.128
git tree: linux-5.15.y
console output: https://syzkaller.appspot.com/x/log.txt?x=1318e8c0680000
kernel config: https://syzkaller.appspot.com/x/.config?x=6002cddd1ee7af8d
dashboard link: https://syzkaller.appspot.com/bug?extid=b7b7e810e524e15fdf42
compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
userspace arch: arm64

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

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/4dcbbdbe12f5/disk-5ddfe5cc.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/290a3122190e/vmlinux-5ddfe5cc.xz
kernel image: https://storage.googleapis.com/syzbot-assets/2f91c2c6b407/Image-5ddfe5cc.gz.xz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+b7b7e8...@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 arch/arm64/kernel/entry.S:584
Unable to handle kernel paging request at virtual address dfff800000000001
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
[dfff800000000001] address between user and kernel address ranges
Internal error: Oops: 96000006 [#1] PREEMPT SMP
Modules linked in:
CPU: 0 PID: 6633 Comm: syz-executor.4 Not tainted 5.15.128-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/26/2023
pstate: 80400005 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : _compound_head include/linux/page-flags.h:196 [inline]
pc : unlock_page+0x30/0x204 mm/filemap.c:1510
lr : unlock_page+0x28/0x204 mm/filemap.c:1508
sp : ffff8000268c7530
x29: ffff8000268c7530 x28: dfff800000000000 x27: 0000000000000000
x26: 0000000000000007 x25: 0000000000000000 x24: 0000000000000000
x23: 0000000000000004 x22: dfff800000000000 x21: 00000000fffffff4
x20: 0000000000000008 x19: 0000000000000000 x18: 0000000000000001
x17: ff80800008334ef4 x16: ffff8000084c19c4 x15: ffff800008334ef4
x14: 00000000ffffffff x13: ffffffffffffffff x12: 0000000000040000
x11: 000000000000d555 x10: ffff800021619000 x9 : ffff8000086d3530
x8 : 0000000000000001 x7 : 0000000000000000 x6 : 0000000000000001
x5 : ffff8000268c6698 x4 : 0000000000000000 x3 : ffff80000958bef8
x2 : 0000000000000001 x1 : 0000000000000000 x0 : 0000000000000000
Call trace:
_compound_head include/linux/page-flags.h:196 [inline]
unlock_page+0x30/0x204 mm/filemap.c:1510
ni_readpage_cmpr+0x4a0/0x68c fs/ntfs3/frecord.c:2105
ntfs_readpage+0x14c/0x1c0 fs/ntfs3/inode.c:725
filemap_read_page+0x150/0x454 mm/filemap.c:2386
filemap_update_page mm/filemap.c:2464 [inline]
filemap_get_pages mm/filemap.c:2574 [inline]
filemap_read+0xe3c/0x1bd4 mm/filemap.c:2634
generic_file_read_iter+0xa0/0x3c4 mm/filemap.c:2785
ntfs_file_read_iter+0x184/0x1e0 fs/ntfs3/file.c:832
call_read_iter include/linux/fs.h:2097 [inline]
new_sync_read fs/read_write.c:404 [inline]
vfs_read+0x86c/0xb10 fs/read_write.c:485
ksys_read+0x15c/0x26c fs/read_write.c:623
__do_sys_read fs/read_write.c:633 [inline]
__se_sys_read fs/read_write.c:631 [inline]
__arm64_sys_read+0x7c/0x90 fs/read_write.c:631
__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 arch/arm64/kernel/entry.S:584
Code: f2fbfff6 97f7b926 91002274 d343fe88 (38766908)
---[ end trace 99309ff4549137c0 ]---
----------------
Code disassembly (best guess):
0: f2fbfff6 movk x22, #0xdfff, lsl #48
4: 97f7b926 bl 0xffffffffffdee49c
8: 91002274 add x20, x19, #0x8
c: d343fe88 lsr x8, x20, #3
* 10: 38766908 ldrb 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.

If the bug is already fixed, let syzbot know by replying with:
#syz fix: exact-commit-title

If you want to overwrite bug's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)

If the bug is a duplicate of another bug, reply with:
#syz dup: exact-subject-of-another-report

If you want to undo deduplication, reply with:
#syz undup

syzbot

unread,
Aug 27, 2023, 5:05:51 PM8/27/23
to syzkaller...@googlegroups.com
syzbot has found a reproducer for the following issue on:

HEAD commit: 5ddfe5cc8716 Linux 5.15.128
git tree: linux-5.15.y
console output: https://syzkaller.appspot.com/x/log.txt?x=10980070680000
kernel config: https://syzkaller.appspot.com/x/.config?x=6002cddd1ee7af8d
dashboard link: https://syzkaller.appspot.com/bug?extid=b7b7e810e524e15fdf42
compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
userspace arch: arm64
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=17bc0688680000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=14526790680000
mounted in repro: https://storage.googleapis.com/syzbot-assets/260ad6710f99/mount_0.gz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+b7b7e8...@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 arch/arm64/kernel/entry.S:584
Unable to handle kernel paging request at virtual address dfff800000000001
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
[dfff800000000001] address between user and kernel address ranges
Internal error: Oops: 96000006 [#1] PREEMPT SMP
Modules linked in:
CPU: 1 PID: 3963 Comm: syz-executor249 Not tainted 5.15.128-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/26/2023
pstate: 80400005 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : _compound_head include/linux/page-flags.h:196 [inline]
pc : unlock_page+0x30/0x204 mm/filemap.c:1510
lr : unlock_page+0x28/0x204 mm/filemap.c:1508
sp : ffff80001a047530
x29: ffff80001a047530 x28: dfff800000000000 x27: 0000000000000000
x26: 0000000000000007 x25: 0000000000000000 x24: 0000000000000000
x23: 0000000000000004 x22: dfff800000000000 x21: 00000000fffffff4
x20: 0000000000000008 x19: 0000000000000000 x18: 0000000000000001
x17: ff80800008334ef4 x16: ffff8000084c19c4 x15: ffff800008334ef4
x14: 00000000ffffffff x13: ffffffffffffffff x12: 0000000000000000
x11: ff808000086d3530 x10: 0000000000000000 x9 : ffff8000086d3530
x8 : 0000000000000001 x7 : 0000000000000000 x6 : 0000000000000001
x5 : ffff80001a046698 x4 : 0000000000000000 x3 : ffff80000958bef8
---[ end trace 6a4f0d42769660e9 ]---
----------------
Code disassembly (best guess):
0: f2fbfff6 movk x22, #0xdfff, lsl #48
4: 97f7b926 bl 0xffffffffffdee49c
8: 91002274 add x20, x19, #0x8
c: d343fe88 lsr x8, x20, #3
* 10: 38766908 ldrb w8, [x8, x22] <-- trapping instruction


---
If you want syzbot to run the reproducer, reply with:
#syz test: git://repo/address.git branch-or-commit-hash
If you attach or paste a git patch, syzbot will apply it before testing.
Reply all
Reply to author
Forward
0 new messages