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: 119d, last: 39d
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 (5)
Title Replies (including bot) Last reply
[syzbot] Monthly udf report (Dec 2024) 0 (1) 2024/12/19 18:40
[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 (5)
Created Duration User Patch Repo Result
2024/12/21 15:39 25m retest repro git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci OK log
2024/12/21 09:31 18m retest repro upstream OK log
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:
Oops: general protection fault, probably for non-canonical address 0xdffffc000000000d: 0000 [#1] PREEMPT SMP KASAN PTI
KASAN: null-ptr-deref in range [0x0000000000000068-0x000000000000006f]
CPU: 1 UID: 0 PID: 6919 Comm: syz.1.120 Not tainted 6.12.0-rc7-syzkaller-00187-gf868cd251776 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/30/2024
RIP: 0010:file_inode include/linux/fs.h:1123 [inline]
RIP: 0010:udf_read_folio+0x2b/0xc0 fs/udf/inode.c:223
Code: 0f 1e fa 41 57 41 56 41 54 53 49 89 f6 48 89 fb 49 bc 00 00 00 00 00 fc ff df e8 40 f7 73 fe 48 83 c3 68 48 89 d8 48 c1 e8 03 <42> 80 3c 20 00 74 08 48 89 df e8 96 b0 da fe 49 c7 c7 e8 fe ff ff
RSP: 0018:ffffc900034bf9d8 EFLAGS: 00010202
RAX: 000000000000000d RBX: 0000000000000068 RCX: 0000000000040000
RDX: ffffc90004761000 RSI: 0000000000002a17 RDI: 0000000000002a18
RBP: ffffc900034bfab0 R08: ffffffff81cdde36 R09: 1ffffd40002d21d0
R10: dffffc0000000000 R11: ffffffff8320f250 R12: dffffc0000000000
R13: ffffea0001690e80 R14: ffffea0001690e80 R15: 1ffffd40002d21d1
FS:  00007f821bb096c0(0000) GS:ffff8880b8700000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000000110c27e51c CR3: 00000000652a8000 CR4: 00000000003526f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <TASK>
 filemap_read_folio+0x14b/0x630 mm/filemap.c:2367
 do_read_cache_folio+0x3f5/0x850 mm/filemap.c:3825
 read_mapping_folio include/linux/pagemap.h:1011 [inline]
 erofs_bread+0x499/0xd40 fs/erofs/data.c:41
 erofs_read_superblock fs/erofs/super.c:281 [inline]
 erofs_fc_fill_super+0x345/0x1770 fs/erofs/super.c:625
 vfs_get_super fs/super.c:1280 [inline]
 get_tree_nodev+0xb7/0x140 fs/super.c:1299
 vfs_get_tree+0x90/0x2b0 fs/super.c:1814
 do_new_mount+0x2be/0xb40 fs/namespace.c:3507
 do_mount fs/namespace.c:3847 [inline]
 __do_sys_mount fs/namespace.c:4057 [inline]
 __se_sys_mount+0x2d6/0x3c0 fs/namespace.c:4034
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7f821ad7e719
Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f821bb09038 EFLAGS: 00000246 ORIG_RAX: 00000000000000a5
RAX: ffffffffffffffda RBX: 00007f821af35f80 RCX: 00007f821ad7e719
RDX: 00000000200005c0 RSI: 0000000020000580 RDI: 0000000020000540
RBP: 00007f821adf175e R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000200000 R11: 0000000000000246 R12: 0000000000000000
R13: 0000000000000000 R14: 00007f821af35f80 R15: 00007ffe5c9d2038
 </TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:file_inode include/linux/fs.h:1123 [inline]
RIP: 0010:udf_read_folio+0x2b/0xc0 fs/udf/inode.c:223
Code: 0f 1e fa 41 57 41 56 41 54 53 49 89 f6 48 89 fb 49 bc 00 00 00 00 00 fc ff df e8 40 f7 73 fe 48 83 c3 68 48 89 d8 48 c1 e8 03 <42> 80 3c 20 00 74 08 48 89 df e8 96 b0 da fe 49 c7 c7 e8 fe ff ff
RSP: 0018:ffffc900034bf9d8 EFLAGS: 00010202
RAX: 000000000000000d RBX: 0000000000000068 RCX: 0000000000040000
RDX: ffffc90004761000 RSI: 0000000000002a17 RDI: 0000000000002a18
RBP: ffffc900034bfab0 R08: ffffffff81cdde36 R09: 1ffffd40002d21d0
R10: dffffc0000000000 R11: ffffffff8320f250 R12: dffffc0000000000
R13: ffffea0001690e80 R14: ffffea0001690e80 R15: 1ffffd40002d21d1
FS:  00007f821bb096c0(0000) GS:ffff8880b8700000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000000110c27e51c CR3: 00000000652a8000 CR4: 00000000003526f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess):
   0:	0f 1e fa             	nop    %edx
   3:	41 57                	push   %r15
   5:	41 56                	push   %r14
   7:	41 54                	push   %r12
   9:	53                   	push   %rbx
   a:	49 89 f6             	mov    %rsi,%r14
   d:	48 89 fb             	mov    %rdi,%rbx
  10:	49 bc 00 00 00 00 00 	movabs $0xdffffc0000000000,%r12
  17:	fc ff df
  1a:	e8 40 f7 73 fe       	call   0xfe73f75f
  1f:	48 83 c3 68          	add    $0x68,%rbx
  23:	48 89 d8             	mov    %rbx,%rax
  26:	48 c1 e8 03          	shr    $0x3,%rax
* 2a:	42 80 3c 20 00       	cmpb   $0x0,(%rax,%r12,1) <-- trapping instruction
  2f:	74 08                	je     0x39
  31:	48 89 df             	mov    %rbx,%rdi
  34:	e8 96 b0 da fe       	call   0xfedab0cf
  39:	49 c7 c7 e8 fe ff ff 	mov    $0xfffffffffffffee8,%r15

Crashes (21):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
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/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/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/12/07 03:16 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 7b1d1d4cfac0 9ac0fdc6 .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/12/01 05:23 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 7b1d1d4cfac0 68914665 .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/28 16:21 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 7b1d1d4cfac0 5df23865 .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/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: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/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.