====================================== | [ 5.228223] #PF: supervisor write access in kernel mode | [ 5.228285] #PF: error_code(0x0002) - not-present page | [ 5.228343] PGD 201f067 P4D 201f067 PUD 2018067 PMD 0 | [ 5.228406] Oops: Oops: 0002 [#1] SMP [ 5.228558] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 5.228627] 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) [ 5.228698] 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 [ 5.228895] RSP: 0018:ffffa1424059fcb8 EFLAGS: 00010046 [ 5.228941] RAX: 0000000000000246 RBX: 0000000000000000 RCX: 00000000fffb800c [ 5.229007] RDX: ffffa1424059fcf0 RSI: 0000000000000000 RDI: 0000000000000000 [ 5.229060] RBP: ffffa1424059fcf0 R08: 0000000000000000 R09: 000000000000038e [ 5.229118] R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000 [ 5.229174] R13: ffffa1424059fde8 R14: 0000000000000020 R15: 0000000000000000 [ 5.229233] FS: 0000000038ef53c0(0000) GS:ffff8f8d79966000(0000) knlGS:0000000000000000 [ 5.229298] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 5.229343] CR2: 0000000000000000 CR3: 0000000002f1c003 CR4: 0000000000772ef0 [ 5.229398] PKRU: 55555554 [ 5.229414] Call Trace: [ 5.229433] [ 5.229455] __cancel_work (kernel/workqueue.c:4366) [ 5.229488] ? dev_deactivate_many (net/sched/sch_generic.c:1324 net/sched/sch_generic.c:1382) [ 5.229545] __cancel_work_sync (kernel/workqueue.c:4381) [ 5.229576] __dev_close_many (net/core/dev.c:1879 (discriminator 2) net/core/dev.c:1932 (discriminator 2)) [ 5.229613] netif_close_many (net/core/dev.c:1959) [ 5.229643] unregister_netdevice_many_notify (net/core/dev.c:12545) [ 5.229681] ? __queue_work (kernel/workqueue.c:2351) [ 5.229713] unregister_netdevice_queue (net/core/dev.c:12452) [ 5.229752] __tun_detach (./include/linux/netdevice.h:3491 drivers/net/tun.c:621) [ 5.229787] tun_chr_close (drivers/net/tun.c:638 drivers/net/tun.c:3436) [ 5.229818] __fput (fs/file_table.c:469) [ 5.229861] __x64_sys_close (fs/open.c:1592 fs/open.c:1574 fs/open.c:1574) [ 5.229893] do_syscall_64 (arch/x86/entry/syscall_64.c:63 arch/x86/entry/syscall_64.c:94) [ 5.229929] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130) [ 5.229969] RIP: 0033:0x4901eb [ 5.229999] 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 [ 5.230120] RSP: 002b:00007ffc6aafb5f0 EFLAGS: 00000293 ORIG_RAX: 0000000000000003 [ 5.230176] RAX: ffffffffffffffda RBX: 00007ffc6aafbb48 RCX: 00000000004901eb [ 5.230231] RDX: 0000000000000002 RSI: 0000000000000002 RDI: 0000000000000005 [ 5.230286] RBP: 00007ffc6aafb630 R08: 0000000000000000 R09: 0000000000000000 [ 5.230341] R10: 0000000001000000 R11: 0000000000000293 R12: 00007ffc6aafbac8 Finger prints: work_grab_pending:__cancel_work:__cancel_work_sync:__dev_close_many:netif_close_many