syzbot


BUG: unable to handle kernel paging request in ext4_acquire_dquot

Status: fixed on 2023/08/04 15:57
Bug presence: origin:lts-only
[Documentation on labels]
Reported-by: syzbot+4615ef0b0007637845ae@syzkaller.appspotmail.com
Fix commit: 32c2f51fffec quota: Properly disable quotas when add_dquot_ref() fails
First crash: 318d, last: 283d
Fix bisection: fixed by (bisect log) :
commit 32c2f51fffecedc41318560cfa60d11c9a0e0461
Author: Jan Kara <jack@suse.cz>
Date: Mon Jun 5 14:07:30 2023 +0000

  quota: Properly disable quotas when add_dquot_ref() fails

  
Bug presence (2)
Date Name Commit Repro Result
2023/05/17 linux-5.15.y (ToT) b0ece631f84a C [report] BUG: unable to handle kernel paging request in ext4_acquire_dquot
2023/05/17 upstream (ToT) f1fcbaa18b28 C Didn't crash
Similar bugs (3)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream general protection fault in ext4_acquire_dquot ext4 C 4 281d 320d 23/26 fixed on 2023/10/12 12:47
android-6-1 general protection fault in ext4_acquire_dquot origin:lts C done done 1 185d 309d 0/2 auto-obsoleted due to no activity on 2024/01/03 10:28
android-5-15 general protection fault in ext4_acquire_dquot C done done 2 276d 309d 2/2 fixed on 2023/09/06 18:13
Fix bisection attempts (2)
Created Duration User Patch Repo Result
2023/08/03 18:11 9h34m bisect fix linux-5.15.y job log (1)
2023/06/16 06:57 0m bisect fix linux-5.15.y error job log (0)
marked invalid by nogikh@google.com

Sample crash report:
Unable to handle kernel paging request at virtual address dfff800000000005
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
[dfff800000000005] address between user and kernel address ranges
Internal error: Oops: 96000006 [#1] PREEMPT SMP
Modules linked in:
CPU: 0 PID: 5010 Comm: syz-executor231 Not tainted 5.15.111-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/14/2023
pstate: 80400005 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : ext4_acquire_dquot+0x1d4/0x398 fs/ext4/super.c:6162
lr : dquot_to_inode fs/ext4/super.c:6136 [inline]
lr : ext4_acquire_dquot+0x1ac/0x398 fs/ext4/super.c:6162
sp : ffff80001eac7260
x29: ffff80001eac7260 x28: 1fffe0001bf3d43c x27: ffff8000148d0380
x26: ffff0000dd274000 x25: ffff0000dd276000 x24: 1fffe0001bf3d45c
x23: dfff800000000000 x22: 0000000000000000 x21: 0000000000000049
x20: 0000000000000028 x19: ffff0000df9ea1c0 x18: 0000000000000001
x17: ff80800008b6b290 x16: ffff8000088c75e0 x15: ffff800008b6b290
x14: 1ffff0000291a06a x13: ffffffffffffffff x12: 0000000000000000
x11: ff80800008e6f9a8 x10: 0000000000000000 x9 : ffff800008e6f9a8
x8 : 0000000000000005 x7 : ffff800008b4a130 x6 : 0000000000000000
x5 : 0000000000000000 x4 : 0000000000000001 x3 : ffff800011a0dae4
x2 : 0000000000000000 x1 : 0000000000000001 x0 : 0000000000000003
Call trace:
 ext4_acquire_dquot+0x1d4/0x398 fs/ext4/super.c:6162
 dqget+0x848/0xc58 fs/quota/dquot.c:914
 __dquot_initialize+0x2cc/0xb54 fs/quota/dquot.c:1492
 dquot_initialize fs/quota/dquot.c:1550 [inline]
 dquot_file_open+0x90/0xc8 fs/quota/dquot.c:2174
 ext4_file_open+0x200/0x540 fs/ext4/file.c:876
 do_dentry_open+0x780/0xed8 fs/open.c:826
 vfs_open+0x7c/0x90 fs/open.c:956
 do_open fs/namei.c:3538 [inline]
 path_openat+0x1f28/0x26f0 fs/namei.c:3672
 do_filp_open+0x1a8/0x3b4 fs/namei.c:3699
 do_sys_openat2+0x128/0x3d8 fs/open.c:1211
 do_sys_open fs/open.c:1227 [inline]
 __do_sys_openat fs/open.c:1243 [inline]
 __se_sys_openat fs/open.c:1238 [inline]
 __arm64_sys_openat+0x1f0/0x240 fs/open.c:1238
 __invoke_syscall arch/arm64/kernel/syscall.c:38 [inline]
 invoke_syscall+0x98/0x2b8 arch/arm64/kernel/syscall.c:52
 el0_svc_common+0x138/0x258 arch/arm64/kernel/syscall.c:142
 do_el0_svc+0x58/0x14c arch/arm64/kernel/syscall.c:181
 el0_svc+0x7c/0x1f0 arch/arm64/kernel/entry-common.c:596
 el0t_64_sync_handler+0x84/0xe4 arch/arm64/kernel/entry-common.c:614
 el0t_64_sync+0x1a0/0x1a4 arch/arm64/kernel/entry.S:584
Code: 97e95e0c f9400288 9100a114 d343fe88 (38776908) 
---[ end trace a4830b72ac37c257 ]---
----------------
Code disassembly (best guess):
   0:	97e95e0c 	bl	0xffffffffffa57830
   4:	f9400288 	ldr	x8, [x20]
   8:	9100a114 	add	x20, x8, #0x28
   c:	d343fe88 	lsr	x8, x20, #3
* 10:	38776908 	ldrb	w8, [x8, x23] <-- trapping instruction

Crashes (2):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2023/05/14 21:50 linux-5.15.y b0ece631f84a 2b9ba477 .config console log report syz C [disk image] [vmlinux] [kernel image] [mounted in repro] ci2-linux-5-15-kasan-arm64 BUG: unable to handle kernel paging request in ext4_acquire_dquot
2023/06/19 05:20 linux-5.15.y 471e639e59d1 f3921d4d .config console log report syz [disk image] [vmlinux] [kernel image] [mounted in repro] ci2-linux-5-15-kasan general protection fault in ext4_acquire_dquot
* Struck through repros no longer work on HEAD.