syzbot


general protection fault in udf_read_folio

Status: upstream: reported C repro on 2024/09/21 17:06
Subsystems: udf
[Documentation on labels]
Reported-by: syzbot+ddf8715339c89280b6fc@syzkaller.appspotmail.com
First crash: 64d, last: 2d01h
Cause bisection: introduced by (bisect log) [merge commit]:
commit 2004cef11ea072838f99bd95cefa5c8e45df0847
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date: Thu Sep 19 13:55:58 2024 +0000

  Merge tag 'sched-core-2024-09-19' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Crash: BUG: unable to handle kernel NULL pointer dereference in filemap_read_folio (log)
Repro: syz .config
  
Discussions (4)
Title Replies (including bot) Last reply
[syzbot] Monthly udf report (Nov 2024) 0 (1) 2024/11/18 10:47
Re: [syzbot] [udf?] general protection fault in udf_read_folio 2 (2) 2024/10/22 09:02
[syzbot] [udf?] general protection fault in udf_read_folio 1 (4) 2024/10/21 23:47
[syzbot] Monthly udf report (Oct 2024) 0 (1) 2024/10/17 07:41
Last patch testing requests (3)
Created Duration User Patch Repo Result
2024/10/21 23:47 15m gianf.trad@gmail.com upstream OK log
2024/10/12 17:05 16m retest repro upstream report log
2024/09/22 04:57 19m eadavis@qq.com patch upstream OK log

Sample crash report:
loop0: detected capacity change from 0 to 1024
UDF-fs: INFO Mounting volume 'LinuxUDF', timestamp 2022/11/22 14:59 (1000)
./file1: Can't lookup blockdev
Unable to handle kernel paging request at virtual address dfff80000000000d
KASAN: null-ptr-deref in range [0x0000000000000068-0x000000000000006f]
Mem abort info:
  ESR = 0x0000000096000005
  EC = 0x25: DABT (current EL), IL = 32 bits
  SET = 0, FnV = 0
  EA = 0, S1PTW = 0
  FSC = 0x05: level 1 translation fault
Data abort info:
  ISV = 0, ISS = 0x00000005, ISS2 = 0x00000000
  CM = 0, WnR = 0, TnD = 0, TagAccess = 0
  GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0
[dfff80000000000d] address between user and kernel address ranges
Internal error: Oops: 0000000096000005 [#1] PREEMPT SMP
Modules linked in:
CPU: 0 UID: 0 PID: 6414 Comm: syz-executor331 Not tainted 6.12.0-rc4-syzkaller-g7678c1b2735a #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024
pstate: 80400005 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : file_inode include/linux/fs.h:1123 [inline]
pc : udf_read_folio+0x30/0xd0 fs/udf/inode.c:223
lr : udf_read_folio+0x28/0xd0 fs/udf/inode.c:222
sp : ffff8000a1c17690
x29: ffff8000a1c17690 x28: 1fffffbff8d8c048 x27: 1fffffbff8d8c049
x26: 1ffff00014382ed8 x25: dfff800000000000 x24: 0000000000000000
x23: ffff8000a1c176e0 x22: ffff800081a9f0a8 x21: dfff800000000000
x20: 0000000000000068 x19: fffffdffc6c60240 x18: ffff8000a1c172c0
x17: 000000000000d73d x16: ffff8000830c650c x15: ffff700012e6f250
x14: 1ffff00012e6f250 x13: 0000000000000004 x12: ffffffffffffffff
x11: 0000000000000001 x10: 0000000000ff0100 x9 : 0000000000000000
x8 : 000000000000000d x7 : 0000000000000000 x6 : 0000000000000000
x5 : ffff8000933a8f58 x4 : 0000000000000008 x3 : ffff800080894c6c
x2 : fffffdffc6c60240 x1 : fffffdffc6c60240 x0 : 0000000000000000
Call trace:
 file_inode include/linux/fs.h:1123 [inline] (P)
 udf_read_folio+0x30/0xd0 fs/udf/inode.c:223 (P)
 udf_read_folio+0x28/0xd0 fs/udf/inode.c:222 (L)
 filemap_read_folio+0x108/0x318 mm/filemap.c:2367
 do_read_cache_folio+0x368/0x5c0 mm/filemap.c:3825
 read_cache_folio+0x68/0x84 mm/filemap.c:3857
 read_mapping_folio include/linux/pagemap.h:1011 [inline]
 erofs_bread+0x300/0x678 fs/erofs/data.c:41
 erofs_read_metabuf+0xfc/0x114 fs/erofs/data.c:76
 erofs_read_superblock fs/erofs/super.c:281 [inline]
 erofs_fc_fill_super+0x2e4/0x13c0 fs/erofs/super.c:625
 vfs_get_super fs/super.c:1280 [inline]
 get_tree_nodev+0xb4/0x144 fs/super.c:1299
 erofs_fc_get_tree+0x1b4/0x208 fs/erofs/super.c:723
 vfs_get_tree+0x90/0x28c fs/super.c:1800
 do_new_mount+0x278/0x900 fs/namespace.c:3507
 path_mount+0x590/0xe04 fs/namespace.c:3834
 do_mount fs/namespace.c:3847 [inline]
 __do_sys_mount fs/namespace.c:4055 [inline]
 __se_sys_mount fs/namespace.c:4032 [inline]
 __arm64_sys_mount+0x45c/0x5a8 fs/namespace.c:4032
 __invoke_syscall arch/arm64/kernel/syscall.c:35 [inline]
 invoke_syscall+0x98/0x2b8 arch/arm64/kernel/syscall.c:49
 el0_svc_common+0x130/0x23c arch/arm64/kernel/syscall.c:132
 do_el0_svc+0x48/0x58 arch/arm64/kernel/syscall.c:151
 el0_svc+0x54/0x168 arch/arm64/kernel/entry-common.c:744
 el0t_64_sync_handler+0x84/0x108 arch/arm64/kernel/entry-common.c:762
 el0t_64_sync+0x198/0x19c arch/arm64/kernel/entry.S:600
Code: f2fbfff5 97abac74 9101a294 d343fe88 (38756908) 
---[ end trace 0000000000000000 ]---
----------------
Code disassembly (best guess):
   0:	f2fbfff5 	movk	x21, #0xdfff, lsl #48
   4:	97abac74 	bl	0xfffffffffeaeb1d4
   8:	9101a294 	add	x20, x20, #0x68
   c:	d343fe88 	lsr	x8, x20, #3
* 10:	38756908 	ldrb	w8, [x8, x21] <-- trapping instruction

Crashes (18):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/10/25 13:31 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 7678c1b2735a c79b8ca5 .config console log report syz / log C [disk image] [vmlinux] [kernel image] [mounted in repro] ci-upstream-gce-arm64 BUG: unable to handle kernel paging request in udf_read_folio
2024/11/06 12:28 upstream 2e1b3cc9d7f7 3a465482 .config console log report syz / log [disk image] [vmlinux] [kernel image] [mounted in repro #1] [mounted in repro #2] [mounted in repro #3] ci2-upstream-fs general protection fault in udf_read_folio
2024/11/16 02:19 upstream f868cd251776 cfe3a04a .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs general protection fault in udf_read_folio
2024/11/09 22:56 upstream da4373fbcf00 6b856513 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root general protection fault in udf_read_folio
2024/11/02 14:48 upstream 11066801dd4b f00eed24 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root general protection fault in udf_read_folio
2024/11/01 23:13 upstream 6c52d4da1c74 f00eed24 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root general protection fault in udf_read_folio
2024/11/05 21:41 upstream 2e1b3cc9d7f7 da38b4c9 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root general protection fault in udf_read_folio
2024/11/05 08:04 upstream 557329bcecc2 509da429 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root general protection fault in udf_read_folio
2024/10/27 14:21 upstream 850925a8133c 65e8686b .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root general protection fault in udf_read_folio
2024/09/28 17:04 upstream ad46e8f95e93 ba29ff75 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root general protection fault in udf_read_folio
2024/09/17 16:58 upstream a940d9a43e62 c673ca06 .config console log report syz / log C [disk image (non-bootable)] [vmlinux] [kernel image] [mounted in repro] ci-snapshot-upstream-root general protection fault in udf_read_folio
2024/11/19 04:49 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 7b1d1d4cfac0 571351cb .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 BUG: unable to handle kernel paging request in udf_read_folio
2024/11/18 02:06 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 887407160d72 cfe3a04a .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 BUG: unable to handle kernel paging request in udf_read_folio
2024/11/08 16:55 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci eb17c12d043d 179b040e .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 BUG: unable to handle kernel paging request in udf_read_folio
2024/11/07 13:04 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 8936d33c1f69 df3dc63b .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 BUG: unable to handle kernel paging request in udf_read_folio
2024/11/02 09:41 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 5283dc78f4da f00eed24 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 BUG: unable to handle kernel paging request in udf_read_folio
2024/10/29 08:06 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 1bf329c696cf 9efb3cc7 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 BUG: unable to handle kernel paging request in udf_read_folio
2024/10/25 13:03 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 7678c1b2735a c79b8ca5 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 BUG: unable to handle kernel paging request in udf_read_folio
* Struck through repros no longer work on HEAD.