====================================== | [ 3.169529] #PF: supervisor write access in kernel mode | [ 3.169575] #PF: error_code(0x0002) - not-present page | [ 3.169608] PGD 2fe6067 P4D 2fe6067 PUD 2fe5067 PMD 0 | [ 3.169645] Oops: Oops: 0002 [#1] SMP [ 3.169747] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 3.169797] RIP: 0010:work_grab_pending (./arch/x86/include/asm/bitops.h:136 ./include/asm-generic/bitops/instrumented-atomic.h:72 kernel/workqueue.c:2072 kernel/workqueue.c:2160) [ 3.169844] Code: 83 e6 01 41 57 41 56 4c 8d 77 20 41 55 41 54 41 89 f4 55 48 89 d5 53 48 89 fb 9c 58 fa 48 89 45 00 45 85 e4 0f 85 8a 00 00 00 48 0f ba 2b 00 41 0f 92 c5 72 0e 5b 44 89 e8 5d 41 5c 41 5d 41 All code ======== 0: 83 e6 01 and $0x1,%esi 3: 41 57 push %r15 5: 41 56 push %r14 7: 4c 8d 77 20 lea 0x20(%rdi),%r14 b: 41 55 push %r13 d: 41 54 push %r12 f: 41 89 f4 mov %esi,%r12d 12: 55 push %rbp 13: 48 89 d5 mov %rdx,%rbp 16: 53 push %rbx 17: 48 89 fb mov %rdi,%rbx 1a: 9c pushf 1b: 58 pop %rax 1c: fa cli 1d: 48 89 45 00 mov %rax,0x0(%rbp) 21: 45 85 e4 test %r12d,%r12d 24: 0f 85 8a 00 00 00 jne 0xb4 2a:* f0 48 0f ba 2b 00 lock btsq $0x0,(%rbx) <-- trapping instruction 30: 41 0f 92 c5 setb %r13b 34: 72 0e jb 0x44 36: 5b pop %rbx 37: 44 89 e8 mov %r13d,%eax 3a: 5d pop %rbp 3b: 41 5c pop %r12 3d: 41 5d pop %r13 3f: 41 rex.B Code starting with the faulting instruction =========================================== 0: f0 48 0f ba 2b 00 lock btsq $0x0,(%rbx) 6: 41 0f 92 c5 setb %r13b a: 72 0e jb 0x1a c: 5b pop %rbx d: 44 89 e8 mov %r13d,%eax 10: 5d pop %rbp 11: 41 5c pop %r12 13: 41 5d pop %r13 15: 41 rex.B [ 3.169964] RSP: 0018:ffffbe34405c7cb8 EFLAGS: 00010046 [ 3.170000] RAX: 0000000000000246 RBX: 0000000000000000 RCX: 00000000fffb7803 [ 3.170049] RDX: ffffbe34405c7cf0 RSI: 0000000000000000 RDI: 0000000000000000 [ 3.170100] RBP: ffffbe34405c7cf0 R08: 0000000000000000 R09: 000000000000025e [ 3.170167] R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000 [ 3.170221] R13: ffffbe34405c7de8 R14: 0000000000000020 R15: 0000000000000000 [ 3.170277] FS: 0000000004ed13c0(0000) GS:ffff9b3001158000(0000) knlGS:0000000000000000 [ 3.170346] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 3.170400] CR2: 0000000000000000 CR3: 0000000002fed003 CR4: 0000000000772ef0 [ 3.170450] PKRU: 55555554 [ 3.170469] Call Trace: [ 3.170497] [ 3.170521] __cancel_work (kernel/workqueue.c:4366) [ 3.170560] ? dev_deactivate_many (net/sched/sch_generic.c:1324 net/sched/sch_generic.c:1382) [ 3.170600] __cancel_work_sync (kernel/workqueue.c:4381) [ 3.170631] __dev_close_many (net/core/dev.c:1879 (discriminator 2) net/core/dev.c:1932 (discriminator 2)) [ 3.170661] netif_close_many (net/core/dev.c:1959) [ 3.170700] unregister_netdevice_many_notify (net/core/dev.c:12545) [ 3.170739] ? __queue_work (kernel/workqueue.c:2351) [ 3.170784] unregister_netdevice_queue (net/core/dev.c:12452) [ 3.170823] __tun_detach (./include/linux/netdevice.h:3491 drivers/net/tun.c:621) tun [ 3.170856] tun_chr_close (drivers/net/tun.c:638 drivers/net/tun.c:3436) tun [ 3.170892] __fput (fs/file_table.c:469) [ 3.170925] __x64_sys_close (fs/open.c:1592 fs/open.c:1574 fs/open.c:1574) [ 3.170955] do_syscall_64 (arch/x86/entry/syscall_64.c:63 arch/x86/entry/syscall_64.c:94) [ 3.170987] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130) [ 3.171025] RIP: 0033:0x4901eb [ 3.171050] Code: 03 00 00 00 0f 05 48 3d 00 f0 ff ff 77 41 c3 48 83 ec 18 89 7c 24 0c e8 c3 78 04 00 8b 7c 24 0c 41 89 c0 b8 03 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 35 44 89 c7 89 44 24 0c e8 21 79 04 00 8b 44 All code ======== 0: 03 00 add (%rax),%eax 2: 00 00 add %al,(%rax) 4: 0f 05 syscall 6: 48 3d 00 f0 ff ff cmp $0xfffffffffffff000,%rax c: 77 41 ja 0x4f e: c3 ret f: 48 83 ec 18 sub $0x18,%rsp 13: 89 7c 24 0c mov %edi,0xc(%rsp) 17: e8 c3 78 04 00 call 0x478df 1c: 8b 7c 24 0c mov 0xc(%rsp),%edi 20: 41 89 c0 mov %eax,%r8d 23: b8 03 00 00 00 mov $0x3,%eax 28: 0f 05 syscall 2a:* 48 3d 00 f0 ff ff cmp $0xfffffffffffff000,%rax <-- trapping instruction 30: 77 35 ja 0x67 32: 44 89 c7 mov %r8d,%edi 35: 89 44 24 0c mov %eax,0xc(%rsp) 39: e8 21 79 04 00 call 0x4795f 3e: 8b .byte 0x8b 3f: 44 rex.R Code starting with the faulting instruction =========================================== 0: 48 3d 00 f0 ff ff cmp $0xfffffffffffff000,%rax 6: 77 35 ja 0x3d 8: 44 89 c7 mov %r8d,%edi b: 89 44 24 0c mov %eax,0xc(%rsp) f: e8 21 79 04 00 call 0x47935 14: 8b .byte 0x8b 15: 44 rex.R [ 3.171187] RSP: 002b:00007fff1b63fba0 EFLAGS: 00000293 ORIG_RAX: 0000000000000003 [ 3.171240] RAX: ffffffffffffffda RBX: 00007fff1b6400b8 RCX: 00000000004901eb [ 3.171299] RDX: 0000000000000002 RSI: 0000000000000002 RDI: 0000000000000006 [ 3.171354] RBP: 00007fff1b63fbe0 R08: 0000000000000000 R09: 0000000000000000 [ 3.171412] R10: 0000000004ed9040 R11: 0000000000000293 R12: 00007fff1b640078 Finger prints: work_grab_pending:__cancel_work:__cancel_work_sync:__dev_close_many:netif_close_many