ret_from_fork+0x72b/0xd50 arch/x86/kernel/process.c:158 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 Oops: general protection fault, probably for non-canonical address 0xdffffc0000000000: 0000 [#1] SMP KASAN NOPTI KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007] CPU: 1 UID: 0 PID: 1482 Comm: kworker/1:2 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 Workqueue: events vidtv_mux_tick RIP: 0010:vidtv_s302m_encode+0x269/0x1860 drivers/media/test-drivers/vidtv/vidtv_s302m.c:414 Code: fd ab f9 31 ff 89 de e8 35 f7 ab f9 84 db 0f 85 37 0d 00 00 e8 18 fd ab f9 4c 89 e2 48 b8 00 00 00 00 00 fc ff df 48 c1 ea 03 <0f> b6 04 02 84 c0 74 08 3c 03 0f 8e e7 14 00 00 48 8b 44 24 08 41 RSP: 0000:ffffc90007acf830 EFLAGS: 00010246 RAX: dffffc0000000000 RBX: 0000000000000000 RCX: 0000000000000400 RDX: 0000000000000000 RSI: ffffffff885daf48 RDI: ffff88801bc428c0 RBP: 0000000000000000 R08: 0000000000000dc0 R09: 00000000ffffffff R10: ffffffff8eded4b3 R11: 0000000000000000 R12: 0000000000000000 R13: dffffc0000000000 R14: ffff8880295cd700 R15: ffff88802141f000 FS: 0000000000000000(0000) GS:ffff888096ce3000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00000000f7288950 CR3: 000000006e5a4000 CR4: 0000000000352ef0 Call Trace: vidtv_mux_poll_encoders drivers/media/test-drivers/vidtv/vidtv_mux.c:339 [inline] vidtv_mux_tick+0x4e4/0x1460 drivers/media/test-drivers/vidtv/vidtv_mux.c:416 process_one_work+0xa23/0x1940 kernel/workqueue.c:3322 process_scheduled_works kernel/workqueue.c:3405 [inline] worker_thread+0x5ef/0xe50 kernel/workqueue.c:3486 kthread+0x370/0x450 kernel/kthread.c:436 ret_from_fork+0x72b/0xd50 arch/x86/kernel/process.c:158 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 Modules linked in: ---[ end trace 0000000000000000 ]--- RIP: 0010:vidtv_s302m_encode+0x269/0x1860 drivers/media/test-drivers/vidtv/vidtv_s302m.c:414 Code: fd ab f9 31 ff 89 de e8 35 f7 ab f9 84 db 0f 85 37 0d 00 00 e8 18 fd ab f9 4c 89 e2 48 b8 00 00 00 00 00 fc ff df 48 c1 ea 03 <0f> b6 04 02 84 c0 74 08 3c 03 0f 8e e7 14 00 00 48 8b 44 24 08 41 RSP: 0000:ffffc90007acf830 EFLAGS: 00010246 RAX: dffffc0000000000 RBX: 0000000000000000 RCX: 0000000000000400 RDX: 0000000000000000 RSI: ffffffff885daf48 RDI: ffff88801bc428c0 RBP: 0000000000000000 R08: 0000000000000dc0 R09: 00000000ffffffff R10: ffffffff8eded4b3 R11: 0000000000000000 R12: 0000000000000000 R13: dffffc0000000000 R14: ffff8880295cd700 R15: ffff88802141f000 FS: 0000000000000000(0000) GS:ffff888096ce3000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000055594e72c354 CR3: 000000000e994000 CR4: 0000000000352ef0 ---------------- Code disassembly (best guess): 0: fd std 1: ab stos %eax,%es:(%rdi) 2: f9 stc 3: 31 ff xor %edi,%edi 5: 89 de mov %ebx,%esi 7: e8 35 f7 ab f9 call 0xf9abf741 c: 84 db test %bl,%bl e: 0f 85 37 0d 00 00 jne 0xd4b 14: e8 18 fd ab f9 call 0xf9abfd31 19: 4c 89 e2 mov %r12,%rdx 1c: 48 b8 00 00 00 00 00 movabs $0xdffffc0000000000,%rax 23: fc ff df 26: 48 c1 ea 03 shr $0x3,%rdx * 2a: 0f b6 04 02 movzbl (%rdx,%rax,1),%eax <-- trapping instruction 2e: 84 c0 test %al,%al 30: 74 08 je 0x3a 32: 3c 03 cmp $0x3,%al 34: 0f 8e e7 14 00 00 jle 0x1521 3a: 48 8b 44 24 08 mov 0x8(%rsp),%rax 3f: 41 rex.B