syzbot
BUG: unable to handle kernel paging request in ni_readpage_cmpr
Status:
auto-obsoleted due to no activity on 2023/11/29 11:32
Reported-by: syzbot+1f22b33dcafb52a75ca9@syzkaller.appspotmail.com
First crash: 1252d, last: 1132d
▶
▼
Bug presence (1)
| Date |
Name |
Commit |
Repro |
Result |
| 2023/11/29 |
upstream (ToT) |
18d46e76d7c2 |
C
|
Didn't crash |
Sample crash report:
__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 dfff800000000001
KASAN: null-ptr-deref in range [0x0000000000000008-0x000000000000000f]
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: 0000000096000006 [#1] PREEMPT SMP
Modules linked in:
CPU: 0 PID: 4216 Comm: syz-executor997 Not tainted 6.1.27-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/14/2023
pstate: 80400005 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : _compound_head include/linux/page-flags.h:253 [inline]
pc : unlock_page+0x28/0x74 mm/folio-compat.c:20
lr : unlock_page+0x18/0x74 mm/folio-compat.c:19
sp : ffff80001d8d70e0
x29: ffff80001d8d70e0 x28: 0000000000000007 x27: 0000000000000000
x26: 0000000000000000 x25: 0000000000000000 x24: 0000000000000000
x23: 0000000000000001 x22: ffff0000c33d7d08 x21: 00000000fffffff4
x20: 0000000000000008 x19: 0000000000000000 x18: ffff80001d8d60e0
x17: 0000000000000000 x16: ffff8000084f8b64 x15: 0000000000000000
x14: 0000000000000000 x13: 0000000000000001 x12: 0000000000000001
x11: ff80800008772f7c x10: 0000000000000000 x9 : 0000000000000001
x8 : dfff800000000000 x7 : 0000000000000001 x6 : 0000000000000001
x5 : ffff80001d8d62b8 x4 : ffff800015672960 x3 : ffff800009672658
x2 : 0000000000000001 x1 : 0000000000000000 x0 : 0000000000000000
Call trace:
_compound_head include/linux/page-flags.h:253 [inline]
unlock_page+0x28/0x74 mm/folio-compat.c:20
ni_readpage_cmpr+0x48c/0x7b4 fs/ntfs3/frecord.c:2148
ntfs_read_folio+0x14c/0x1c0 fs/ntfs3/inode.c:713
filemap_read_folio+0x14c/0x39c mm/filemap.c:2407
filemap_create_folio mm/filemap.c:2536 [inline]
filemap_get_pages mm/filemap.c:2589 [inline]
filemap_read+0xd78/0x2260 mm/filemap.c:2676
generic_file_read_iter+0xa0/0x450 mm/filemap.c:2822
ntfs_file_read_iter+0x184/0x1e0 fs/ntfs3/file.c:853
call_read_iter include/linux/fs.h:2199 [inline]
generic_file_splice_read+0x1e0/0x508 fs/splice.c:309
do_splice_to fs/splice.c:793 [inline]
splice_direct_to_actor+0x30c/0x944 fs/splice.c:865
do_splice_direct+0x1f4/0x334 fs/splice.c:974
do_sendfile+0x4bc/0xc70 fs/read_write.c:1255
__do_sys_sendfile64 fs/read_write.c:1323 [inline]
__se_sys_sendfile64 fs/read_write.c:1309 [inline]
__arm64_sys_sendfile64+0x160/0x3b4 fs/read_write.c:1309
__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: d2d00008 91002274 f2fbffe8 d343fe89 (38686928)
---[ end trace 0000000000000000 ]---
----------------
Code disassembly (best guess):
0: d2d00008 mov x8, #0x800000000000 // #140737488355328
4: 91002274 add x20, x19, #0x8
8: f2fbffe8 movk x8, #0xdfff, lsl #48
c: d343fe89 lsr x9, x20, #3
* 10: 38686928 ldrb w8, [x9, x8] <-- trapping instruction
* Struck through repros no longer work on HEAD.