syzbot


KASAN: use-after-free Read in ntfs_iget5 (2)

Status: upstream: reported C repro on 2024/03/29 09:18
Bug presence: origin:upstream
[Documentation on labels]
Reported-by: syzbot+9acb180f22247583c41e@syzkaller.appspotmail.com
First crash: 239d, last: 3d02h
Fix bisection: failed (error log, bisect log)
  
Bug presence (1)
Date Name Commit Repro Result
2024/05/11 upstream (ToT) cf87f46fd34d C [report] BUG: unable to handle kernel paging request in ntfs_iget5
Similar bugs (5)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-6.1 KASAN: use-after-free Read in ntfs_iget5 7 372d 619d 0/3 auto-obsoleted due to no activity on 2024/02/25 08:58
linux-5.15 KASAN: use-after-free Read in ntfs_iget5 5 439d 580d 0/3 auto-obsoleted due to no activity on 2023/12/20 11:31
linux-5.15 KASAN: use-after-free Read in ntfs_iget5 (2) 5 136d 236d 0/3 auto-obsoleted due to no activity on 2024/10/18 06:28
upstream KASAN: slab-out-of-bounds Read in ntfs_iget5 ntfs3 C done done 3633 312d 946d 25/28 fixed on 2024/03/20 11:33
upstream BUG: unable to handle kernel paging request in ntfs_iget5 ntfs3 1 195d 191d 0/28 auto-obsoleted due to no activity on 2024/08/10 16:42
Fix bisection attempts (3)
Created Duration User Patch Repo Result
2024/10/15 02:21 0m bisect fix linux-6.1.y error job log
2024/07/25 22:17 3h54m bisect fix linux-6.1.y OK (0) job log log
2024/06/10 21:03 2h14m bisect fix linux-6.1.y OK (0) job log log

Sample crash report:
loop4: detected capacity change from 0 to 4096
ntfs3: loop4: Different NTFS' sector size (4096) and media sector size (512)
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: 1 PID: 8003 Comm: syz-executor170 Not tainted 6.1.90-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024
pstate: 80400005 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : ntfs_iget5+0x12c/0x2be8 fs/ntfs3/inode.c:525
lr : ntfs_iget5+0xf0/0x2be8 fs/ntfs3/inode.c:523
sp : ffff8000218f75a0
x29: ffff8000218f77e0 x28: ffff0000d565e000 x27: ffff8000125b3280
x26: dfff800000000000 x25: ffff8000218f79b0 x24: ffff70000431eee8
x23: 0000000000000002 x22: 0000000000000002 x21: ffff0000e228bd30
x20: 0000000000000010 x19: ffff8000218f7740 x18: ffff8000218f7040
x17: ffff8000188ce000 x16: ffff800008304340 x15: ffff8000183b3f80
x14: ffff0000d5b70a78 x13: dfff800000000000 x12: 0000000000000001
x11: 0000000000ff0100 x10: 0000000000000000 x9 : ffff0000d5b70000
x8 : 0000000000000002 x7 : 0000000000000000 x6 : 0000000000000000
x5 : 0000000000000020 x4 : 0000000000000000 x3 : ffff800008aaf42c
x2 : 0000000000000000 x1 : 0000000000000000 x0 : 0000000000000000
Call trace:
 ntfs_iget5+0x12c/0x2be8 fs/ntfs3/inode.c:525
 ntfs_fill_super+0x19f0/0x3458 fs/ntfs3/super.c:1009
 get_tree_bdev+0x360/0x54c fs/super.c:1355
 ntfs_fs_get_tree+0x28/0x38 fs/ntfs3/super.c:1359
 vfs_get_tree+0x90/0x274 fs/super.c:1562
 do_new_mount+0x278/0x8fc fs/namespace.c:3051
 path_mount+0x590/0xe5c fs/namespace.c:3381
 do_mount fs/namespace.c:3394 [inline]
 __do_sys_mount fs/namespace.c:3602 [inline]
 __se_sys_mount fs/namespace.c:3579 [inline]
 __arm64_sys_mount+0x45c/0x594 fs/namespace.c:3579
 __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:585
Code: 97cb251c f9400288 91004114 d343fe88 (38fa6908) 
---[ end trace 0000000000000000 ]---
----------------
Code disassembly (best guess):
   0:	97cb251c 	bl	0xffffffffff2c9470
   4:	f9400288 	ldr	x8, [x20]
   8:	91004114 	add	x20, x8, #0x10
   c:	d343fe88 	lsr	x8, x20, #3
* 10:	38fa6908 	ldrsb	w8, [x8, x26] <-- trapping instruction

Crashes (8):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/05/11 15:39 linux-6.1.y 909ba1f1b414 9026e142 .config console log report syz C [disk image] [vmlinux] [kernel image] [mounted in repro #1] [mounted in repro #2] ci2-linux-6-1-kasan-arm64 BUG: unable to handle kernel paging request in ntfs_iget5
2024/08/13 02:26 linux-6.1.y 36790ef5e00b 7b0f4b46 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan KASAN: use-after-free Read in ntfs_iget5
2024/08/03 21:44 linux-6.1.y 48d525b0e463 1786a2a8 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan KASAN: use-after-free Read in ntfs_iget5
2024/04/07 12:14 linux-6.1.y 347385861c50 ca620dd8 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan KASAN: use-after-free Read in ntfs_iget5
2024/03/29 09:17 linux-6.1.y e5cd595e23c1 c52bcb23 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan KASAN: use-after-free Read in ntfs_iget5
2024/11/21 01:04 linux-6.1.y b67dc5c9ade9 4b25d554 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 KASAN: use-after-free Read in ntfs_iget5
2024/11/11 09:35 linux-6.1.y d7039b844a1c 0c4b1325 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 KASAN: use-after-free Read in ntfs_iget5
2024/09/13 01:28 linux-6.1.y 5f55cad62cc9 73e8a465 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 KASAN: use-after-free Read in ntfs_iget5
* Struck through repros no longer work on HEAD.