================================================================== BUG: KASAN: null-ptr-deref in io_file_get_normal+0x322/0x370 Write of size 4 at addr 0000000000000118 by task iou-wrk-15047/15055 CPU: 0 PID: 15055 Comm: iou-wrk-15047 Not tainted 5.19.0-rc2-next-20220616 #1 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.14.0-0-g155821a1990b-prebuilt.qemu.org 04/01/2014 Call Trace: dump_stack_lvl+0x8b/0xb3 kasan_report+0xbe/0x1c0 kasan_check_range+0xf9/0x1e0 io_file_get_normal+0x322/0x370 io_splice+0xd0/0x4b0 io_issue_sqe+0x165/0xb70 io_wq_submit_work+0x29d/0x9b0 io_worker_handle_work+0xb19/0x1990 io_wqe_worker+0x600/0xd30 ret_from_fork+0x22/0x30 ================================================================== BUG: kernel NULL pointer dereference, address: 0000000000000118 #PF: supervisor write access in kernel mode #PF: error_code(0x0002) - not-present page PGD 4682d067 P4D 4682d067 PUD 96b5067 PMD 0 Oops: 0002 [#1] PREEMPT SMP KASAN NOPTI CPU: 0 PID: 15055 Comm: iou-wrk-15047 Tainted: G B 5.19.0-rc2-next-20220616 #1 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.14.0-0-g155821a1990b-prebuilt.qemu.org 04/01/2014 RIP: 0010:io_file_get_normal+0x322/0x370 Code: bb 98 07 00 00 48 89 fa 48 c1 ea 03 80 3c 02 00 75 56 48 8b 9b 98 07 00 00 be 04 00 00 00 48 8d bb 18 01 00 00 e8 5e 79 76 ff ff 83 18 01 00 00 e9 7d fd ff ff e8 0d 76 76 ff e9 64 fd ff ff RSP: 0018:ffff8880632b7be0 EFLAGS: 00010246 RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000 RDX: ffff8880172a0000 RSI: ffffffff840cf45c RDI: 0000000000000007 RBP: 0000000000000000 R08: 0000000000000007 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000000 R12: ffff888017272f00 R13: 0000000000180204 R14: 0000000000000002 R15: 0000000000000000 FS: 00007fdd55125700(0000) GS:ffff88806ce00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000118 CR3: 0000000048a50000 CR4: 0000000000350ef0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff4ff0 DR7: 0000000000000400 Call Trace: io_splice+0xd0/0x4b0 io_issue_sqe+0x165/0xb70 io_wq_submit_work+0x29d/0x9b0 io_worker_handle_work+0xb19/0x1990 io_wqe_worker+0x600/0xd30 ret_from_fork+0x22/0x30 Modules linked in: CR2: 0000000000000118 ---[ end trace 0000000000000000 ]--- RIP: 0010:io_file_get_normal+0x322/0x370 Code: bb 98 07 00 00 48 89 fa 48 c1 ea 03 80 3c 02 00 75 56 48 8b 9b 98 07 00 00 be 04 00 00 00 48 8d bb 18 01 00 00 e8 5e 79 76 ff ff 83 18 01 00 00 e9 7d fd ff ff e8 0d 76 76 ff e9 64 fd ff ff RSP: 0018:ffff8880632b7be0 EFLAGS: 00010246 RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000 RDX: ffff8880172a0000 RSI: ffffffff840cf45c RDI: 0000000000000007 RBP: 0000000000000000 R08: 0000000000000007 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000000 R12: ffff888017272f00 R13: 0000000000180204 R14: 0000000000000002 R15: 0000000000000000 FS: 00007fdd55125700(0000) GS:ffff88806ce00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000118 CR3: 0000000048a50000 CR4: 0000000000350ef0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff4ff0 DR7: 0000000000000400 ---------------- Code disassembly (best guess): 0: bb 98 07 00 00 mov $0x798,%ebx 5: 48 89 fa mov %rdi,%rdx 8: 48 c1 ea 03 shr $0x3,%rdx c: 80 3c 02 00 cmpb $0x0,(%rdx,%rax,1) 10: 75 56 jne 0x68 12: 48 8b 9b 98 07 00 00 mov 0x798(%rbx),%rbx 19: be 04 00 00 00 mov $0x4,%esi 1e: 48 8d bb 18 01 00 00 lea 0x118(%rbx),%rdi 25: e8 5e 79 76 ff callq 0xff767988 * 2a: f0 ff 83 18 01 00 00 lock incl 0x118(%rbx) <-- trapping instruction 31: e9 7d fd ff ff jmpq 0xfffffdb3 36: e8 0d 76 76 ff callq 0xff767648 3b: e9 64 fd ff ff jmpq 0xfffffda4