syzbot


divide error in dbAllocAG

Status: upstream: reported C repro on 2024/12/03 04:02
Subsystems: jfs
[Documentation on labels]
Reported-by: syzbot+7c808908291a569281a9@syzkaller.appspotmail.com
Fix commit: ddf2846f22e8 jfs: add sanity check for agwidth in dbMount
Patched on: [ci-qemu-gce-upstream-auto ci-qemu-upstream ci-qemu-upstream-386 ci-qemu2-arm64 ci-qemu2-arm64-compat ci-qemu2-arm64-mte ci-snapshot-upstream-root ci-upstream-gce-leak ci-upstream-kasan-badwrites-root ci-upstream-kasan-gce ci-upstream-kasan-gce-386 ci-upstream-kasan-gce-root ci-upstream-kasan-gce-selinux-root ci-upstream-kasan-gce-smack-root ci-upstream-kmsan-gce-386-root ci-upstream-kmsan-gce-root ci-upstream-linux-next-kasan-gce-root ci2-upstream-fs ci2-upstream-kcsan-gce], missing on: [ci-qemu-native-arm64-kvm ci-qemu2-arm32 ci-qemu2-riscv64 ci-upstream-bpf-kasan-gce ci-upstream-bpf-next-kasan-gce ci-upstream-gce-arm64 ci-upstream-net-kasan-gce ci-upstream-net-this-kasan-gce ci2-upstream-usb]
First crash: 120d, last: 1d10h
Cause bisection: introduced by (bisect log) :
commit 2b9ac22b12a266eb4fec246a07b504dd4983b16b
Author: Kristian Klausen <kristian@klausen.dk>
Date: Fri Jun 18 11:51:57 2021 +0000

  loop: Fix missing discard support when using LOOP_CONFIGURE

Crash: divide error in dbAllocAG (log)
Repro: C syz .config
  
Discussions (2)
Title Replies (including bot) Last reply
[PATCH] jfs: check agwidth before calculating the control page level 4 (4) 2025/02/20 16:21
[syzbot] [jfs?] divide error in dbAllocAG 3 (6) 2024/12/03 09:47
Last patch testing requests (3)
Created Duration User Patch Repo Result
2024/12/03 09:47 23m eadavis@qq.com https://github.com/ea1davis/linux jfs/syzv3 OK log
2024/12/03 08:54 23m eadavis@qq.com https://github.com/ea1davis/linux jfs/syzv2 OK log
2024/12/03 07:56 21m eadavis@qq.com https://github.com/ea1davis/linux jfs/syz OK log

Sample crash report:
loop0: detected capacity change from 0 to 32768
Oops: divide error: 0000 [#1] PREEMPT SMP KASAN NOPTI
CPU: 0 UID: 0 PID: 5857 Comm: syz-executor194 Not tainted 6.12.0-syzkaller-10689-g7af08b57bcb9 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024
RIP: 0010:dbAllocAG+0x414/0xd30 fs/jfs/jfs_dmap.c:1399
Code: 03 0f b6 0c 11 48 89 fa 83 e2 07 83 c2 03 38 ca 7c 08 84 c9 0f 85 a7 08 00 00 41 8b 4d 2c 49 8d 7d 30 99 48 89 fe 48 c1 ee 03 <f7> f9 48 ba 00 00 00 00 00 fc ff df 0f b6 14 16 84 d2 74 09 80 fa
RSP: 0018:ffffc9000450fbc8 EFLAGS: 00010216
RAX: 0000000000000400 RBX: 000000000000000a RCX: 0000000000000000
RDX: 0000000000000000 RSI: 1ffff11004cce406 RDI: ffff888026672030
RBP: 0000000000000000 R08: 0000000000000005 R09: 000000000000001f
R10: 000000000000000a R11: 0000000000000002 R12: ffff88807650f000
R13: ffff888026672000 R14: 0000000000000000 R15: 000000000000000c
FS:  000055558401d380(0000) GS:ffff8880b8600000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000557f78216048 CR3: 00000000772e0000 CR4: 0000000000350ef0
Call Trace:
 <TASK>
 dbDiscardAG+0x249/0x7c0 fs/jfs/jfs_dmap.c:1613
 jfs_ioc_trim+0x3fb/0x5c0 fs/jfs/jfs_discard.c:105
 jfs_ioctl+0x335/0x430 fs/jfs/ioctl.c:131
 vfs_ioctl fs/ioctl.c:51 [inline]
 __do_sys_ioctl fs/ioctl.c:906 [inline]
 __se_sys_ioctl fs/ioctl.c:892 [inline]
 __x64_sys_ioctl+0x193/0x200 fs/ioctl.c:892
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0xcd/0x250 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7fc4a885b679
Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 61 17 00 00 90 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 b8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007ffc0fc54e38 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 00007ffc0fc55008 RCX: 00007fc4a885b679
RDX: 0000000020000080 RSI: 00000000c0185879 RDI: 0000000000000004
RBP: 00007fc4a88d4610 R08: 0000000000000000 R09: 00007ffc0fc55008
R10: 0000000000005ea7 R11: 0000000000000246 R12: 0000000000000001
R13: 00007ffc0fc54ff8 R14: 0000000000000001 R15: 0000000000000001
 </TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:dbAllocAG+0x414/0xd30 fs/jfs/jfs_dmap.c:1399
Code: 03 0f b6 0c 11 48 89 fa 83 e2 07 83 c2 03 38 ca 7c 08 84 c9 0f 85 a7 08 00 00 41 8b 4d 2c 49 8d 7d 30 99 48 89 fe 48 c1 ee 03 <f7> f9 48 ba 00 00 00 00 00 fc ff df 0f b6 14 16 84 d2 74 09 80 fa
RSP: 0018:ffffc9000450fbc8 EFLAGS: 00010216
RAX: 0000000000000400 RBX: 000000000000000a RCX: 0000000000000000
RDX: 0000000000000000 RSI: 1ffff11004cce406 RDI: ffff888026672030
RBP: 0000000000000000 R08: 0000000000000005 R09: 000000000000001f
R10: 000000000000000a R11: 0000000000000002 R12: ffff88807650f000
R13: ffff888026672000 R14: 0000000000000000 R15: 000000000000000c
FS:  000055558401d380(0000) GS:ffff8880b8600000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000557f78216048 CR3: 00000000772e0000 CR4: 0000000000350ef0
----------------
Code disassembly (best guess):
   0:	03 0f                	add    (%rdi),%ecx
   2:	b6 0c                	mov    $0xc,%dh
   4:	11 48 89             	adc    %ecx,-0x77(%rax)
   7:	fa                   	cli
   8:	83 e2 07             	and    $0x7,%edx
   b:	83 c2 03             	add    $0x3,%edx
   e:	38 ca                	cmp    %cl,%dl
  10:	7c 08                	jl     0x1a
  12:	84 c9                	test   %cl,%cl
  14:	0f 85 a7 08 00 00    	jne    0x8c1
  1a:	41 8b 4d 2c          	mov    0x2c(%r13),%ecx
  1e:	49 8d 7d 30          	lea    0x30(%r13),%rdi
  22:	99                   	cltd
  23:	48 89 fe             	mov    %rdi,%rsi
  26:	48 c1 ee 03          	shr    $0x3,%rsi
* 2a:	f7 f9                	idiv   %ecx <-- trapping instruction
  2c:	48 ba 00 00 00 00 00 	movabs $0xdffffc0000000000,%rdx
  33:	fc ff df
  36:	0f b6 14 16          	movzbl (%rsi,%rdx,1),%edx
  3a:	84 d2                	test   %dl,%dl
  3c:	74 09                	je     0x47
  3e:	80                   	.byte 0x80
  3f:	fa                   	cli

Crashes (172):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/11/29 13:45 upstream 7af08b57bcb9 5df23865 .config strace log report syz / log C [disk image] [vmlinux] [kernel image] [mounted in repro] ci-upstream-kasan-badwrites-root divide error in dbAllocAG
2024/11/29 13:03 upstream 7af08b57bcb9 5df23865 .config strace log report syz / log C [disk image] [vmlinux] [kernel image] [mounted in repro] ci-upstream-kasan-badwrites-root divide error in dbAllocAG
2025/03/28 07:50 upstream 1a9239bb4253 6c09fb82 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root divide error in dbAllocAG
2025/03/26 08:58 upstream 2df0c02dab82 89d30d73 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root divide error in dbAllocAG
2025/03/26 02:22 upstream 2df0c02dab82 89d30d73 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root divide error in dbAllocAG
2025/03/24 22:41 upstream 38fec10eb60d 875573af .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root divide error in dbAllocAG
2025/03/23 19:46 upstream 586de92313fc 4e8d3850 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root divide error in dbAllocAG
2025/03/23 06:14 upstream 183601b78a9b c6512ef7 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root divide error in dbAllocAG
2025/03/21 16:06 upstream b3ee1e460951 62330552 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root divide error in dbAllocAG
2025/03/20 12:44 upstream a7f2e10ecd8f 3b7445cf .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root divide error in dbAllocAG
2025/03/20 05:27 upstream a7f2e10ecd8f 3b7445cf .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root divide error in dbAllocAG
2025/03/18 09:58 upstream fc444ada1310 ce3352cd .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root divide error in dbAllocAG
2025/03/12 15:24 upstream 0fed89a961ea ee70e6db .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root divide error in dbAllocAG
2025/03/09 23:14 upstream 1110ce6a1e34 163f510d .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root divide error in dbAllocAG
2025/03/06 02:54 upstream bb2281fb05e5 034534df .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root divide error in dbAllocAG
2025/03/05 05:45 upstream 48a5eed9ad58 c3901742 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root divide error in dbAllocAG
2025/03/02 04:48 upstream 03d38806a902 c3901742 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root divide error in dbAllocAG
2025/03/01 11:41 upstream 7a5668899f54 1e7a43e1 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root divide error in dbAllocAG
2025/03/01 11:41 upstream 7a5668899f54 1e7a43e1 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root divide error in dbAllocAG
2025/02/27 13:36 upstream 5394eea10651 6a8fcbc4 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root divide error in dbAllocAG
2025/02/26 16:39 upstream ac9c34d1e45a d34966d1 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root divide error in dbAllocAG
2025/02/26 02:06 upstream 2a1944bff549 d34966d1 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root divide error in dbAllocAG
2025/02/20 12:17 upstream 87a132e73910 50668798 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root divide error in dbAllocAG
2025/02/19 22:20 upstream 6537cfb395f3 cbd8edab .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root divide error in dbAllocAG
2025/02/15 21:23 upstream 7ff71e6d9239 40a34ec9 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root divide error in dbAllocAG
2025/02/12 12:12 upstream 09fbf3d50205 f2baddf5 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root divide error in dbAllocAG
2025/02/09 23:18 upstream 9946eaf552b1 ef44b750 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root divide error in dbAllocAG
2025/02/07 22:58 upstream bb066fe812d6 a4f327c2 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root divide error in dbAllocAG
2025/02/07 16:22 upstream bb066fe812d6 a4f327c2 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root divide error in dbAllocAG
2025/02/07 16:19 upstream bb066fe812d6 a4f327c2 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root divide error in dbAllocAG
2025/02/07 11:01 upstream bb066fe812d6 53657d1b .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root divide error in dbAllocAG
2025/02/05 17:36 upstream 5c8c229261f1 5896748e .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root divide error in dbAllocAG
2025/02/05 01:26 upstream d009de7d5428 4baca3d6 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root divide error in dbAllocAG
2025/02/01 21:56 upstream 69e858e0b8b2 0dff8567 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root divide error in dbAllocAG
2025/01/28 02:10 upstream 9c5968db9e62 18070896 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root divide error in dbAllocAG
2025/01/24 20:15 upstream bc8198dc7ebc 521b0ce3 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root divide error in dbAllocAG
2025/01/24 20:11 upstream bc8198dc7ebc 521b0ce3 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root divide error in dbAllocAG
2025/01/22 14:17 upstream c0e75905caf3 da72ac06 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root divide error in dbAllocAG
2025/01/21 16:30 upstream 95ec54a420b8 6e87cfa2 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root divide error in dbAllocAG
2025/01/16 02:42 upstream 619f0b6fad52 968edaf4 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root divide error in dbAllocAG
2025/01/15 07:34 upstream c3812b15000c 7315a7cf .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root divide error in dbAllocAG
2025/01/13 18:03 upstream 5bc55a333a2f 6dbc6a9b .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root divide error in dbAllocAG
2025/01/12 04:27 upstream b62cef9a5c67 6dbc6a9b .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root divide error in dbAllocAG
2025/01/06 09:38 upstream ab75170520d4 f3558dbf .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root divide error in dbAllocAG
* Struck through repros no longer work on HEAD.