syzbot


divide error in qnx6_mmi_fill_super

Status: upstream: reported C repro on 2024/11/01 19:35
Subsystems: ext4
[Documentation on labels]
Reported-by: syzbot+6a0633f11d3fb88860bf@syzkaller.appspotmail.com
First crash: 7d18h, last: 7d16h
Discussions (2)
Title Replies (including bot) Last reply
[PATCH] fix: divide error in qnx6_mmi_fill_super 1 (1) 2024/11/04 05:44
[syzbot] [ext4?] divide error in qnx6_mmi_fill_super 0 (1) 2024/11/01 19:35

Sample crash report:
loop0: detected capacity change from 0 to 128
qnx6: unable to set blocksize
loop0: detected capacity change from 0 to 128
Oops: divide error: 0000 [#1] PREEMPT SMP KASAN NOPTI
CPU: 0 UID: 0 PID: 5358 Comm: syz-executor346 Not tainted 6.12.0-rc5-syzkaller #0
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014
RIP: 0010:qnx6_mmi_fill_super+0x20c/0x810 fs/qnx6/super_mmi.c:68
Code: c4 28 4c 89 e0 48 c1 e8 03 0f b6 04 18 84 c0 0f 85 60 05 00 00 45 85 f6 41 8b 04 24 89 c6 0f ce 0f 44 f0 b8 00 10 00 00 31 d2 <f7> f6 41 89 c6 4c 89 ff e8 67 c0 87 01 89 c3 31 ff 89 c6 e8 4c 83
RSP: 0018:ffffc9000ceb7ac8 EFLAGS: 00010246
RAX: 0000000000001000 RBX: dffffc0000000000 RCX: ffff888000d80000
RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff888048292034
RBP: 0000000000000000 R08: ffffffff831258ff R09: ffffffff8c617e00
R10: ffffffff8c617a00 R11: ffffffff8c617600 R12: ffff888048292028
R13: 0000000000000000 R14: 0000000000000000 R15: ffff8880467de000
FS:  00007f9aec9cb6c0(0000) GS:ffff88801fc00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000055d713e729c8 CR3: 0000000000e4c000 CR4: 0000000000352ef0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <TASK>
 qnx6_fill_super+0x181/0x15a0 fs/qnx6/inode.c:321
 get_tree_bdev+0x3f7/0x570 fs/super.c:1635
 vfs_get_tree+0x90/0x2b0 fs/super.c:1800
 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:0x7f9aeca3746a
Code: d8 64 89 02 48 c7 c0 ff ff ff ff eb a6 e8 5e 04 00 00 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 49 89 ca b8 a5 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b0 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f9aec9cb038 EFLAGS: 00000286 ORIG_RAX: 00000000000000a5
RAX: ffffffffffffffda RBX: 0000000020009e00 RCX: 00007f9aeca3746a
RDX: 0000000020009e00 RSI: 0000000020000080 RDI: 00007f9aec9cb090
RBP: 00007f9aec9cb090 R08: 00007f9aec9cb0d0 R09: 002c73665f696d6d
R10: 000000000020c800 R11: 0000000000000286 R12: 0000000020000080
R13: 00007f9aec9cb0d0 R14: 0000000000009e0d R15: 0000000020000040
 </TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:qnx6_mmi_fill_super+0x20c/0x810 fs/qnx6/super_mmi.c:68
Code: c4 28 4c 89 e0 48 c1 e8 03 0f b6 04 18 84 c0 0f 85 60 05 00 00 45 85 f6 41 8b 04 24 89 c6 0f ce 0f 44 f0 b8 00 10 00 00 31 d2 <f7> f6 41 89 c6 4c 89 ff e8 67 c0 87 01 89 c3 31 ff 89 c6 e8 4c 83
RSP: 0018:ffffc9000ceb7ac8 EFLAGS: 00010246
RAX: 0000000000001000 RBX: dffffc0000000000 RCX: ffff888000d80000
RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff888048292034
RBP: 0000000000000000 R08: ffffffff831258ff R09: ffffffff8c617e00
R10: ffffffff8c617a00 R11: ffffffff8c617600 R12: ffff888048292028
R13: 0000000000000000 R14: 0000000000000000 R15: ffff8880467de000
FS:  00007f9aec9cb6c0(0000) GS:ffff88801fc00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f9ae443f000 CR3: 0000000000e4c000 CR4: 0000000000352ef0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess), 1 bytes skipped:
   0:	28 4c 89 e0          	sub    %cl,-0x20(%rcx,%rcx,4)
   4:	48 c1 e8 03          	shr    $0x3,%rax
   8:	0f b6 04 18          	movzbl (%rax,%rbx,1),%eax
   c:	84 c0                	test   %al,%al
   e:	0f 85 60 05 00 00    	jne    0x574
  14:	45 85 f6             	test   %r14d,%r14d
  17:	41 8b 04 24          	mov    (%r12),%eax
  1b:	89 c6                	mov    %eax,%esi
  1d:	0f ce                	bswap  %esi
  1f:	0f 44 f0             	cmove  %eax,%esi
  22:	b8 00 10 00 00       	mov    $0x1000,%eax
  27:	31 d2                	xor    %edx,%edx
* 29:	f7 f6                	div    %esi <-- trapping instruction
  2b:	41 89 c6             	mov    %eax,%r14d
  2e:	4c 89 ff             	mov    %r15,%rdi
  31:	e8 67 c0 87 01       	call   0x187c09d
  36:	89 c3                	mov    %eax,%ebx
  38:	31 ff                	xor    %edi,%edi
  3a:	89 c6                	mov    %eax,%esi
  3c:	e8                   	.byte 0xe8
  3d:	4c                   	rex.WR
  3e:	83                   	.byte 0x83

Crashes (4):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/10/28 21:12 upstream 819837584309 9efb3cc7 .config console log report syz / log C [disk image (non-bootable)] [vmlinux] [kernel image] [mounted in repro #1] [mounted in repro #2] ci-snapshot-upstream-root divide error in qnx6_mmi_fill_super
2024/10/28 20:37 upstream 819837584309 9efb3cc7 .config console log report syz / log C [disk image (non-bootable)] [vmlinux] [kernel image] [mounted in repro #1] [mounted in repro #2] ci-snapshot-upstream-root divide error in qnx6_mmi_fill_super
2024/10/28 20:09 upstream 819837584309 9efb3cc7 .config console log report syz / log C [disk image (non-bootable)] [vmlinux] [kernel image] [mounted in repro #1] [mounted in repro #2] ci-snapshot-upstream-root divide error in qnx6_mmi_fill_super
2024/10/28 19:25 upstream 819837584309 9efb3cc7 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root divide error in qnx6_mmi_fill_super
* Struck through repros no longer work on HEAD.