gfs2: fsid=syz:syz.0: gfs2_check_dirent: gfs2_dirent too small (not first in block) gfs2: fsid=syz:syz.0: fatal: filesystem consistency error - inode = 12 2341, function = gfs2_dirent_scan, file = fs/gfs2/dir.c, line = 590 gfs2: fsid=syz:syz.0: G: s:SH n:2/925 f:aqo t:SH d:EX/0 a:0 v:0 r:3 m:20 p:1 gfs2: fsid=syz:syz.0: H: s:SH f:H e:0 p:5318 [syz.0.0] iterate_dir+0x399/0x570 fs/readdir.c:108 gfs2: fsid=syz:syz.0: H: s:UN f: e:0 p:0 [(ended)] 0xffff888000b15f10 Oops: general protection fault, probably for non-canonical address 0xdffffc0000000004: 0000 [#1] SMP KASAN NOPTI KASAN: null-ptr-deref in range [0x0000000000000020-0x0000000000000027] CPU: 0 UID: 0 PID: 5319 Comm: syz.0.0 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 RIP: 0010:pid_is_meaningful fs/gfs2/glock.c:1470 [inline] RIP: 0010:dump_holder fs/gfs2/glock.c:2278 [inline] RIP: 0010:gfs2_dump_glock+0xfbb/0x1bc0 fs/gfs2/glock.c:2398 Code: 20 74 b1 8b be 65 03 00 00 48 c7 c2 60 74 b1 8b e8 7a bf a0 fd 49 8d 5d 20 49 89 de 49 c1 ee 03 48 b8 00 00 00 00 00 fc ff df <41> 0f b6 04 06 84 c0 0f 85 28 06 00 00 48 89 5c 24 28 0f b7 1b 89 RSP: 0018:ffffc9000d597700 EFLAGS: 00010202 RAX: dffffc0000000000 RBX: 0000000000000020 RCX: 0000000000100000 RDX: ffffc9000e7ab000 RSI: 00000000000022ef RDI: 00000000000022f0 RBP: ffffc9000d5979f0 R08: 0000000000000000 R09: ffffffff83fcbcbb R10: dffffc0000000000 R11: fffff52001ab2e5d R12: ffffffff83fcbcbb R13: 0000000000000000 R14: 0000000000000004 R15: 0000000000000000 FS: 00007fa67c7e16c0(0000) GS:ffff88808d733000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007fa67c7bffc8 CR3: 00000000113d5000 CR4: 0000000000352ef0 Call Trace: gfs2_consist_inode_i+0xf5/0x110 fs/gfs2/util.c:446 gfs2_dirent_scan+0x545/0x690 fs/gfs2/dir.c:-1 gfs2_dir_read+0x804/0x16f0 fs/gfs2/dir.c:1600 gfs2_readdir+0x14c/0x1b0 fs/gfs2/file.c:116 iterate_dir+0x399/0x570 fs/readdir.c:108 __do_sys_getdents64 fs/readdir.c:410 [inline] __se_sys_getdents64+0xe4/0x260 fs/readdir.c:396 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xfa/0xfa0 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7fa67b98efc9 Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 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 a8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007fa67c7e1038 EFLAGS: 00000246 ORIG_RAX: 00000000000000d9 RAX: ffffffffffffffda RBX: 00007fa67bbe6090 RCX: 00007fa67b98efc9 RDX: 0000000000001009 RSI: 0000200000000380 RDI: 0000000000000005 RBP: 00007fa67ba11f91 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 00007fa67bbe6128 R14: 00007fa67bbe6090 R15: 00007ffe597716b8 Modules linked in: ---[ end trace 0000000000000000 ]--- RIP: 0010:pid_is_meaningful fs/gfs2/glock.c:1470 [inline] RIP: 0010:dump_holder fs/gfs2/glock.c:2278 [inline] RIP: 0010:gfs2_dump_glock+0xfbb/0x1bc0 fs/gfs2/glock.c:2398 Code: 20 74 b1 8b be 65 03 00 00 48 c7 c2 60 74 b1 8b e8 7a bf a0 fd 49 8d 5d 20 49 89 de 49 c1 ee 03 48 b8 00 00 00 00 00 fc ff df <41> 0f b6 04 06 84 c0 0f 85 28 06 00 00 48 89 5c 24 28 0f b7 1b 89 RSP: 0018:ffffc9000d597700 EFLAGS: 00010202 RAX: dffffc0000000000 RBX: 0000000000000020 RCX: 0000000000100000 RDX: ffffc9000e7ab000 RSI: 00000000000022ef RDI: 00000000000022f0 RBP: ffffc9000d5979f0 R08: 0000000000000000 R09: ffffffff83fcbcbb R10: dffffc0000000000 R11: fffff52001ab2e5d R12: ffffffff83fcbcbb R13: 0000000000000000 R14: 0000000000000004 R15: 0000000000000000 FS: 00007fa67c7e16c0(0000) GS:ffff88808d733000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007fa67c7bffc8 CR3: 00000000113d5000 CR4: 0000000000352ef0 ---------------- Code disassembly (best guess): 0: 20 74 b1 8b and %dh,-0x75(%rcx,%rsi,4) 4: be 65 03 00 00 mov $0x365,%esi 9: 48 c7 c2 60 74 b1 8b mov $0xffffffff8bb17460,%rdx 10: e8 7a bf a0 fd call 0xfda0bf8f 15: 49 8d 5d 20 lea 0x20(%r13),%rbx 19: 49 89 de mov %rbx,%r14 1c: 49 c1 ee 03 shr $0x3,%r14 20: 48 b8 00 00 00 00 00 movabs $0xdffffc0000000000,%rax 27: fc ff df * 2a: 41 0f b6 04 06 movzbl (%r14,%rax,1),%eax <-- trapping instruction 2f: 84 c0 test %al,%al 31: 0f 85 28 06 00 00 jne 0x65f 37: 48 89 5c 24 28 mov %rbx,0x28(%rsp) 3c: 0f b7 1b movzwl (%rbx),%ebx 3f: 89 .byte 0x89