syzbot


general protection fault in hfs_find_init

Status: upstream: reported C repro on 2022/12/03 11:10
Subsystems: hfs
[Documentation on labels]
Reported-by: syzbot+68cdae5d607588257e70@syzkaller.appspotmail.com
First crash: 731d, last: 640d
Similar bugs (4)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-5.15 BUG: unable to handle kernel paging request in hfs_find_init origin:upstream C error 24 7d17h 608d 0/3 upstream: reported C repro on 2023/04/05 08:29
upstream general protection fault in hfs_find_init hfs C done 858 1d11h 2438d 0/28 upstream: reported C repro on 2018/03/31 20:47
linux-4.19 general protection fault in hfs_find_init hfs C 12 642d 737d 0/1 upstream: reported C repro on 2022/11/26 21:41
linux-6.1 BUG: unable to handle kernel paging request in hfs_find_init origin:upstream C 25 38d 631d 0/3 upstream: reported C repro on 2023/03/13 10:13
Fix bisection attempts (2)
Created Duration User Patch Repo Result
2023/03/03 20:38 21m bisect fix linux-4.14.y OK (0) job log log
2023/02/01 16:47 28m bisect fix linux-4.14.y OK (0) job log log

Sample crash report:
kasan: CONFIG_KASAN_INLINE enabled
kasan: GPF could be caused by NULL-ptr deref or user memory access
general protection fault: 0000 [#1] PREEMPT SMP KASAN
Modules linked in:
CPU: 0 PID: 7973 Comm: syz-executor969 Not tainted 4.14.302-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/26/2022
task: ffff8880b3b88400 task.stack: ffff8880b30f0000
RIP: 0010:hfs_find_init+0x70/0x220 fs/hfs/bfind.c:21
RSP: 0018:ffff8880b30f7600 EFLAGS: 00010202
RAX: dffffc0000000000 RBX: 0000000000000000 RCX: 0000000000000000
RDX: 0000000000000008 RSI: ffff8880b30f7668 RDI: ffff8880b30f7680
RBP: ffff8880b30f7668 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000002 R11: ffff8880b3b88400 R12: 0000000000000004
R13: 0000000000000040 R14: ffff8880960f3772 R15: ffff8880b30f7668
FS:  00005555556cd300(0000) GS:ffff8880ba400000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f1c30037028 CR3: 00000000b2cc1000 CR4: 00000000003406f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 hfs_ext_read_extent+0x15e/0x930 fs/hfs/extent.c:200
 hfs_get_block+0x453/0x6d0 fs/hfs/extent.c:366
 block_read_full_page+0x25e/0x8d0 fs/buffer.c:2316
 do_read_cache_page+0x38e/0xc10 mm/filemap.c:2713
 read_mapping_page include/linux/pagemap.h:398 [inline]
 hfs_btree_open+0x667/0x1300 fs/hfs/btree.c:78
 hfs_mdb_get+0x129c/0x1b40 fs/hfs/mdb.c:193
 hfs_fill_super+0xcdb/0x1250 fs/hfs/super.c:413
 mount_bdev+0x2b3/0x360 fs/super.c:1134
 mount_fs+0x92/0x2a0 fs/super.c:1237
 vfs_kern_mount.part.0+0x5b/0x470 fs/namespace.c:1046
 vfs_kern_mount fs/namespace.c:1036 [inline]
 do_new_mount fs/namespace.c:2572 [inline]
 do_mount+0xe65/0x2a30 fs/namespace.c:2905
 SYSC_mount fs/namespace.c:3121 [inline]
 SyS_mount+0xa8/0x120 fs/namespace.c:3098
 do_syscall_64+0x1d5/0x640 arch/x86/entry/common.c:292
 entry_SYSCALL_64_after_hwframe+0x5e/0xd3
RIP: 0033:0x7f1cd1c46afa
RSP: 002b:00007ffc0b4988a8 EFLAGS: 00000286 ORIG_RAX: 00000000000000a5
RAX: ffffffffffffffda RBX: 0000000000000003 RCX: 00007f1cd1c46afa
RDX: 0000000020000240 RSI: 0000000020000000 RDI: 00007ffc0b4988c0
RBP: 00007ffc0b4988c0 R08: 00007ffc0b498900 R09: 0000000000000248
R10: 0000000000000000 R11: 0000000000000286 R12: 0000000000000004
R13: 00005555556cd2c0 R14: 0000000000000000 R15: 00007ffc0b498900
Code: 48 c1 ea 03 80 3c 02 00 0f 85 ad 01 00 00 4c 8d 6b 40 48 c7 45 18 00 00 00 00 48 b8 00 00 00 00 00 fc ff df 4c 89 ea 48 c1 ea 03 <0f> b6 04 02 84 c0 74 08 3c 03 0f 8e 5c 01 00 00 8b 43 40 be c0 
RIP: hfs_find_init+0x70/0x220 fs/hfs/bfind.c:21 RSP: ffff8880b30f7600
---[ end trace bcd7f801477eed7b ]---
----------------
Code disassembly (best guess):
   0:	48 c1 ea 03          	shr    $0x3,%rdx
   4:	80 3c 02 00          	cmpb   $0x0,(%rdx,%rax,1)
   8:	0f 85 ad 01 00 00    	jne    0x1bb
   e:	4c 8d 6b 40          	lea    0x40(%rbx),%r13
  12:	48 c7 45 18 00 00 00 	movq   $0x0,0x18(%rbp)
  19:	00
  1a:	48 b8 00 00 00 00 00 	movabs $0xdffffc0000000000,%rax
  21:	fc ff df
  24:	4c 89 ea             	mov    %r13,%rdx
  27:	48 c1 ea 03          	shr    $0x3,%rdx
* 2b:	0f b6 04 02          	movzbl (%rdx,%rax,1),%eax <-- trapping instruction
  2f:	84 c0                	test   %al,%al
  31:	74 08                	je     0x3b
  33:	3c 03                	cmp    $0x3,%al
  35:	0f 8e 5c 01 00 00    	jle    0x197
  3b:	8b 43 40             	mov    0x40(%rbx),%eax
  3e:	be                   	.byte 0xbe
  3f:	c0                   	.byte 0xc0

Crashes (3):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2022/12/25 12:15 linux-4.14.y c4215ee4771b 9da18ae8 .config console log report syz C [disk image] [vmlinux] [kernel image] [mounted in repro] ci2-linux-4-14 general protection fault in hfs_find_init
2022/12/03 21:03 linux-4.14.y 179ef7fe8677 e080de16 .config console log report syz C [disk image] [vmlinux] [kernel image] [mounted in repro] ci2-linux-4-14 general protection fault in hfs_find_init
2022/12/03 11:09 linux-4.14.y 179ef7fe8677 e080de16 .config console log report syz C [disk image] [vmlinux] [kernel image] [mounted in repro] ci2-linux-4-14 general protection fault in hfs_find_init
* Struck through repros no longer work on HEAD.