BUG: unable to handle kernel NULL pointer dereference at 0000000000000020 IP: refcount_dec_and_test arch/x86/include/asm/refcount.h:75 [inline] IP: vb2_vmalloc_put+0x9/0x60 drivers/media/v4l2-core/videobuf2-vmalloc.c:68 PGD 9934c067 P4D 9934c067 PUD aa7e8067 PMD 0 Oops: 0002 [#1] PREEMPT SMP KASAN Modules linked in: CPU: 0 PID: 10699 Comm: syz-executor.1 Not tainted 4.14.280-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 task: ffff888057fba380 task.stack: ffff888057e20000 RIP: 0010:refcount_dec_and_test arch/x86/include/asm/refcount.h:75 [inline] RIP: 0010:vb2_vmalloc_put+0x9/0x60 drivers/media/v4l2-core/videobuf2-vmalloc.c:68 RSP: 0018:ffff888057e27c58 EFLAGS: 00010297 RAX: ffff888057fba380 RBX: ffff888096294280 RCX: 1ffff1100aff758a RDX: 0000000000000000 RSI: ffff888057fbac30 RDI: 0000000000000000 RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000 R13: ffff888096294294 R14: 0000000000000000 R15: ffffffff84c26540 FS: 000055555696d400(0000) GS:ffff8880ba400000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000020 CR3: 00000000b3c4a000 CR4: 00000000003406f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: __vb2_buf_mem_free+0xfa/0x1d0 drivers/media/v4l2-core/videobuf2-core.c:240 __vb2_free_mem drivers/media/v4l2-core/videobuf2-core.c:409 [inline] __vb2_queue_free+0x60d/0x7a0 drivers/media/v4l2-core/videobuf2-core.c:454 vb2_core_queue_release+0x5b/0x70 drivers/media/v4l2-core/videobuf2-core.c:2054 vb2_queue_release drivers/media/v4l2-core/videobuf2-v4l2.c:669 [inline] _vb2_fop_release+0x1c1/0x280 drivers/media/v4l2-core/videobuf2-v4l2.c:840 vivid_fop_release+0x17d/0x6c0 drivers/media/platform/vivid/vivid-core.c:486 v4l2_release+0xf4/0x190 drivers/media/v4l2-core/v4l2-dev.c:446 __fput+0x25f/0x7a0 fs/file_table.c:210 task_work_run+0x11f/0x190 kernel/task_work.c:113 tracehook_notify_resume include/linux/tracehook.h:191 [inline] exit_to_usermode_loop+0x1ad/0x200 arch/x86/entry/common.c:164 prepare_exit_to_usermode arch/x86/entry/common.c:199 [inline] syscall_return_slowpath arch/x86/entry/common.c:270 [inline] do_syscall_64+0x4a3/0x640 arch/x86/entry/common.c:297 entry_SYSCALL_64_after_hwframe+0x46/0xbb RIP: 0033:0x7f67d9619d3b RSP: 002b:00007fff4d330790 EFLAGS: 00000293 ORIG_RAX: 0000000000000003 RAX: 0000000000000000 RBX: 0000000000000004 RCX: 00007f67d9619d3b RDX: 00007f67d977e460 RSI: ffffffffffffffff RDI: 0000000000000003 RBP: 00007f67d977b960 R08: 0000000000000000 R09: 00007f67d977e468 R10: 00007fff4d330890 R11: 0000000000000293 R12: 0000000000028091 R13: 00007fff4d330890 R14: 00007f67d9779f60 R15: 0000000000000032 Code: e9 ca fc ff ff e8 98 99 bc fc e9 96 fc ff ff e8 be 9b bc fc e9 fd fe ff ff 66 0f 1f 84 00 00 00 00 00 55 48 89 fd e8 57 e1 92 fc ff 4d 20 0f 88 d1 a4 5f 02 74 06 5d e9 45 e1 92 fc e8 40 e1 RIP: refcount_dec_and_test arch/x86/include/asm/refcount.h:75 [inline] RSP: ffff888057e27c58 RIP: vb2_vmalloc_put+0x9/0x60 drivers/media/v4l2-core/videobuf2-vmalloc.c:68 RSP: ffff888057e27c58 CR2: 0000000000000020 ---[ end trace 168470aa4f722530 ]--- ---------------- Code disassembly (best guess): 0: e9 ca fc ff ff jmpq 0xfffffccf 5: e8 98 99 bc fc callq 0xfcbc99a2 a: e9 96 fc ff ff jmpq 0xfffffca5 f: e8 be 9b bc fc callq 0xfcbc9bd2 14: e9 fd fe ff ff jmpq 0xffffff16 19: 66 0f 1f 84 00 00 00 nopw 0x0(%rax,%rax,1) 20: 00 00 22: 55 push %rbp 23: 48 89 fd mov %rdi,%rbp 26: e8 57 e1 92 fc callq 0xfc92e182 * 2b: f0 ff 4d 20 lock decl 0x20(%rbp) <-- trapping instruction 2f: 0f 88 d1 a4 5f 02 js 0x25fa506 35: 74 06 je 0x3d 37: 5d pop %rbp 38: e9 45 e1 92 fc jmpq 0xfc92e182 3d: e8 .byte 0xe8 3e: 40 rex 3f: e1 .byte 0xe1