syzbot


BUG: unable to handle kernel paging request in gfs2_evict_inode

Status: upstream: reported C repro on 2023/05/05 09:09
Bug presence: origin:lts-only
[Documentation on labels]
Reported-by: syzbot+35ba5c567cc0749819da@syzkaller.appspotmail.com
First crash: 368d, last: 339d
Fix bisection: failed (error log, bisect log)
  
Bug presence (2)
Date Name Commit Repro Result
2023/05/16 linux-6.1.y (ToT) bf4ad6fa4e53 C [report] BUG: unable to handle kernel paging request in gfs2_evict_inode
2023/05/16 upstream (ToT) f1fcbaa18b28 C Didn't crash
Similar bugs (4)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-5.15 general protection fault in gfs2_evict_inode C done 4 338d 389d 3/3 fixed on 2023/07/07 16:05
upstream general protection fault in gfs2_evict_inode (2) gfs2 C error done 134 360d 680d 22/26 fixed on 2023/07/01 16:05
linux-4.19 general protection fault in gfs2_evict_inode gfs2 C error 5 476d 492d 0/1 upstream: reported C repro on 2022/12/31 21:41
upstream general protection fault in gfs2_evict_inode gfs2 2 913d 885d 0/26 auto-closed as invalid on 2022/03/06 05:03
Last patch testing requests (1)
Created Duration User Patch Repo Result
2023/05/16 10:45 37m nogikh@google.com https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master OK log
Fix bisection attempts (2)
Created Duration User Patch Repo Result
2023/09/16 10:17 1h33m fix candidate upstream job log (0)
2023/07/05 15:06 12h14m bisect fix linux-6.1.y error job log (0)

Sample crash report:
gfs2: fsid=loop0.0: first mount done, others may mount
Unable to handle kernel paging request at virtual address dfff800000000011
KASAN: null-ptr-deref in range [0x0000000000000088-0x000000000000008f]
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
[dfff800000000011] address between user and kernel address ranges
Internal error: Oops: 0000000096000006 [#1] PREEMPT SMP
Modules linked in:
CPU: 0 PID: 4218 Comm: syz-executor325 Not tainted 6.1.27-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 : evict_linked_inode fs/gfs2/super.c:1335 [inline]
pc : gfs2_evict_inode+0x109c/0x1728 fs/gfs2/super.c:1390
lr : evict_linked_inode fs/gfs2/super.c:1333 [inline]
lr : gfs2_evict_inode+0x1074/0x1728 fs/gfs2/super.c:1390
sp : ffff80001d9d74e0
x29: ffff80001d9d76c0 x28: dfff800000000000 x27: ffff0000da594fd8
x26: ffff0000da595278 x25: ffff700003b3aeac x24: ffff0000d53fc000
x23: 000000000000008c x22: 1fffe0001c30831c x21: 1ffff00003b3aec8
x20: ffff0000e18418d8 x19: ffff0000e1841428 x18: ffff80001d9d70c0
x17: ffff80001558d000 x16: ffff80000825e194 x15: 000000000000b92a
x14: 1ffff00002ab20b0 x13: dfff800000000000 x12: 0000000000000001
x11: ff8080000a3788b4 x10: 0000000000000000 x9 : ffff80000a3788b4
x8 : 0000000000000011 x7 : ffff800008af6e08 x6 : 0000000000000000
x5 : 0000000000000000 x4 : 0000000000000001 x3 : ffff80000a378864
x2 : 0000000000000000 x1 : 0000000000000000 x0 : 0000000000000000
Call trace:
 evict_linked_inode fs/gfs2/super.c:1335 [inline]
 gfs2_evict_inode+0x109c/0x1728 fs/gfs2/super.c:1390
 evict+0x260/0x68c fs/inode.c:664
 iput_final fs/inode.c:1747 [inline]
 iput+0x7c0/0x8a4 fs/inode.c:1773
 gfs2_jindex_free+0x334/0x3e4 fs/gfs2/super.c:75
 gfs2_put_super+0x638/0x6d4 fs/gfs2/super.c:623
 generic_shutdown_super+0x130/0x328 fs/super.c:501
 kill_block_super+0x70/0xdc fs/super.c:1450
 gfs2_kill_sb+0xc0/0xd4
 deactivate_locked_super+0xac/0x124 fs/super.c:332
 deactivate_super+0xf0/0x110 fs/super.c:363
 cleanup_mnt+0x394/0x41c fs/namespace.c:1186
 __cleanup_mnt+0x20/0x30 fs/namespace.c:1193
 task_work_run+0x240/0x2f0 kernel/task_work.c:179
 exit_task_work include/linux/task_work.h:38 [inline]
 do_exit+0x554/0x1a88 kernel/exit.c:869
 do_group_exit+0x194/0x22c kernel/exit.c:1019
 __do_sys_exit_group kernel/exit.c:1030 [inline]
 __se_sys_exit_group kernel/exit.c:1028 [inline]
 __wake_up_parent+0x0/0x60 kernel/exit.c:1028
 __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:581
Code: f94002e8 f9402ff5 91023117 d343fee8 (38fc6908) 
---[ end trace 0000000000000000 ]---
----------------
Code disassembly (best guess):
   0:	f94002e8 	ldr	x8, [x23]
   4:	f9402ff5 	ldr	x21, [sp, #88]
   8:	91023117 	add	x23, x8, #0x8c
   c:	d343fee8 	lsr	x8, x23, #3
* 10:	38fc6908 	ldrsb	w8, [x8, x28] <-- trapping instruction

Crashes (3):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2023/05/05 09:09 linux-6.1.y ca48fc16c493 518a39a6 .config console log report syz C [disk image] [vmlinux] [kernel image] [mounted in repro] ci2-linux-6-1-kasan-arm64 BUG: unable to handle kernel paging request in gfs2_evict_inode
2023/06/03 17:30 linux-6.1.y d2869ace6eeb a4ae4f42 .config console log report syz C [disk image] [vmlinux] [kernel image] [mounted in repro] ci2-linux-6-1-kasan general protection fault in gfs2_evict_inode
2023/06/01 09:18 linux-6.1.y d2869ace6eeb babc4389 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 BUG: unable to handle kernel paging request in gfs2_evict_inode
* Struck through repros no longer work on HEAD.