Zero length message leads to an empty skb Oops: general protection fault, probably for non-canonical address 0xdffffc0000000005: 0000 [#1] SMP KASAN NOPTI KASAN: null-ptr-deref in range [0x0000000000000028-0x000000000000002f] CPU: 0 UID: 0 PID: 5331 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:gfs2_remove_from_journal+0x3cc/0x6d0 fs/gfs2/meta_io.c:359 Code: 3a 4c 89 e7 e8 05 ab 27 fe eb 30 e8 9e 6b c0 fd 48 8b 6c 24 10 4c 8d 65 2c 4c 89 e0 48 c1 e8 03 49 be 00 00 00 00 00 fc ff df <42> 0f b6 04 30 84 c0 4c 8b 3c 24 0f 85 aa 01 00 00 41 ff 04 24 48 RSP: 0018:ffffc9000d4973f8 EFLAGS: 00010207 RAX: 0000000000000005 RBX: ffff88801c0d0000 RCX: 0000000000100000 RDX: ffffc9000e683000 RSI: 0000000000000e73 RDI: 0000000000000e74 RBP: 0000000000000000 R08: ffff8880434e0caf R09: 1ffff1100869c195 R10: dffffc0000000000 R11: ffffed100869c196 R12: 000000000000002c R13: 0000000000000001 R14: dffffc0000000000 R15: ffff8880511d41e0 FS: 00007fa4cc38a6c0(0000) GS:ffff88808d730000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000200000000140 CR3: 000000004233d000 CR4: 0000000000352ef0 Call Trace: gfs2_discard fs/gfs2/aops.c:597 [inline] gfs2_invalidate_folio+0x579/0x750 fs/gfs2/aops.c:631 folio_invalidate mm/truncate.c:140 [inline] truncate_cleanup_folio+0x2d8/0x430 mm/truncate.c:160 truncate_inode_pages_range+0x233/0xda0 mm/truncate.c:379 do_gfs2_set_flags fs/gfs2/file.c:254 [inline] gfs2_fileattr_set+0x80a/0x9b0 fs/gfs2/file.c:311 vfs_fileattr_set+0x932/0xb90 fs/file_attr.c:298 ioctl_setflags+0x180/0x1e0 fs/file_attr.c:334 do_vfs_ioctl+0x8ed/0x1430 fs/ioctl.c:560 __do_sys_ioctl fs/ioctl.c:595 [inline] __se_sys_ioctl+0x82/0x170 fs/ioctl.c:583 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:0x7fa4cb58f6c9 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:00007fa4cc38a038 EFLAGS: 00000246 ORIG_RAX: 0000000000000010 RAX: ffffffffffffffda RBX: 00007fa4cb7e6090 RCX: 00007fa4cb58f6c9 RDX: 0000200000000140 RSI: 0000000040086602 RDI: 0000000000000005 RBP: 00007fa4cb611f91 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 00007fa4cb7e6128 R14: 00007fa4cb7e6090 R15: 00007ffcd258e628 Modules linked in: ---[ end trace 0000000000000000 ]--- RIP: 0010:gfs2_remove_from_journal+0x3cc/0x6d0 fs/gfs2/meta_io.c:359 Code: 3a 4c 89 e7 e8 05 ab 27 fe eb 30 e8 9e 6b c0 fd 48 8b 6c 24 10 4c 8d 65 2c 4c 89 e0 48 c1 e8 03 49 be 00 00 00 00 00 fc ff df <42> 0f b6 04 30 84 c0 4c 8b 3c 24 0f 85 aa 01 00 00 41 ff 04 24 48 RSP: 0018:ffffc9000d4973f8 EFLAGS: 00010207 RAX: 0000000000000005 RBX: ffff88801c0d0000 RCX: 0000000000100000 RDX: ffffc9000e683000 RSI: 0000000000000e73 RDI: 0000000000000e74 RBP: 0000000000000000 R08: ffff8880434e0caf R09: 1ffff1100869c195 R10: dffffc0000000000 R11: ffffed100869c196 R12: 000000000000002c R13: 0000000000000001 R14: dffffc0000000000 R15: ffff8880511d41e0 FS: 00007fa4cc38a6c0(0000) GS:ffff88808d730000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000200000000140 CR3: 000000004233d000 CR4: 0000000000352ef0 ---------------- Code disassembly (best guess): 0: 3a 4c 89 e7 cmp -0x19(%rcx,%rcx,4),%cl 4: e8 05 ab 27 fe call 0xfe27ab0e 9: eb 30 jmp 0x3b b: e8 9e 6b c0 fd call 0xfdc06bae 10: 48 8b 6c 24 10 mov 0x10(%rsp),%rbp 15: 4c 8d 65 2c lea 0x2c(%rbp),%r12 19: 4c 89 e0 mov %r12,%rax 1c: 48 c1 e8 03 shr $0x3,%rax 20: 49 be 00 00 00 00 00 movabs $0xdffffc0000000000,%r14 27: fc ff df * 2a: 42 0f b6 04 30 movzbl (%rax,%r14,1),%eax <-- trapping instruction 2f: 84 c0 test %al,%al 31: 4c 8b 3c 24 mov (%rsp),%r15 35: 0f 85 aa 01 00 00 jne 0x1e5 3b: 41 ff 04 24 incl (%r12) 3f: 48 rex.W