====================================== | [ 3.545246] #PF: supervisor write access in kernel mode | [ 3.545303] #PF: error_code(0x0002) - not-present page | [ 3.545360] PGD 0 P4D 0 | [ 3.545386] Oops: Oops: 0002 [#1] SMP [ 3.545540] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 3.545609] 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.545673] 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.545869] RSP: 0018:ffffb5c3c033bae8 EFLAGS: 00010046 [ 3.545929] RAX: 0000000000000246 RBX: 0000000000000000 RCX: 000000008010000b [ 3.546010] RDX: ffffb5c3c033bb20 RSI: 0000000000000000 RDI: 0000000000000000 [ 3.546091] RBP: ffffb5c3c033bb20 R08: 0000000000000001 R09: ffffffff98756300 [ 3.546170] R10: ffff967204e07800 R11: 0000000000000001 R12: 0000000000000000 [ 3.546251] R13: ffffb5c3c033bc18 R14: 0000000000000020 R15: 0000000000000000 [ 3.546335] FS: 00007ff5cb72d000(0000) GS:ffff9672a4f91000(0000) knlGS:0000000000000000 [ 3.546424] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 3.546484] CR2: 0000000000000000 CR3: 0000000004f84005 CR4: 0000000000772ef0 [ 3.546567] PKRU: 55555554 [ 3.546593] Call Trace: [ 3.546620] [ 3.546647] __cancel_work (kernel/workqueue.c:4366) [ 3.546696] __cancel_work_sync (kernel/workqueue.c:4381) [ 3.546742] __dev_close_many (net/core/dev.c:1879 (discriminator 2) net/core/dev.c:1932 (discriminator 2)) [ 3.546788] netif_close_many (net/core/dev.c:1959) [ 3.546836] unregister_netdevice_many_notify (net/core/dev.c:12476 net/core/dev.c:12537) [ 3.546888] unregister_netdevice_queue (net/core/dev.c:12452) [ 3.546942] nsim_destroy (drivers/net/netdevsim/netdevsim.h:397 (discriminator 2) drivers/net/netdevsim/netdev.c:1179 (discriminator 2)) netdevsim [ 3.547004] __nsim_dev_port_del (drivers/net/netdevsim/dev.c:443 drivers/net/netdevsim/dev.c:1528) netdevsim [ 3.547065] nsim_dev_reload_destroy (drivers/net/netdevsim/dev.c:1537 drivers/net/netdevsim/dev.c:1762) netdevsim [ 3.547125] nsim_drv_remove (drivers/net/netdevsim/dev.c:1779) netdevsim [ 3.547186] device_release_driver_internal (drivers/base/dd.c:1276 drivers/base/dd.c:1297) [ 3.547249] bus_remove_device (./include/linux/kobject.h:193 (discriminator 3) drivers/base/base.h:73 (discriminator 3) drivers/base/bus.c:586 (discriminator 3)) [ 3.547295] device_del (drivers/base/core.c:3879) [ 3.547336] device_unregister (drivers/base/core.c:3796 drivers/base/core.c:3920) [ 3.547376] del_device_store (drivers/net/netdevsim/bus.c:248) netdevsim [ 3.547437] kernfs_fop_write_iter (fs/kernfs/file.c:88 fs/kernfs/file.c:356) [ 3.547498] vfs_write (fs/read_write.c:594 fs/read_write.c:686) [ 3.547547] ksys_write (fs/read_write.c:738) [ 3.547595] do_syscall_64 (arch/x86/entry/syscall_64.c:63 arch/x86/entry/syscall_64.c:94) [ 3.547643] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130) [ 3.547703] RIP: 0033:0x7ff5cb82d257 [ 3.547750] Code: 0f 00 f7 d8 64 89 02 48 c7 c0 ff ff ff ff eb b7 0f 1f 00 f3 0f 1e fa 64 8b 04 25 18 00 00 00 85 c0 75 10 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 51 c3 48 83 ec 28 48 89 54 24 18 48 89 74 24 All code ======== 0: 0f 00 (bad) 2: f7 d8 neg %eax 4: 64 89 02 mov %eax,%fs:(%rdx) 7: 48 c7 c0 ff ff ff ff mov $0xffffffffffffffff,%rax e: eb b7 jmp 0xffffffffffffffc7 10: 0f 1f 00 nopl (%rax) 13: f3 0f 1e fa endbr64 17: 64 8b 04 25 18 00 00 mov %fs:0x18,%eax 1e: 00 1f: 85 c0 test %eax,%eax 21: 75 10 jne 0x33 23: b8 01 00 00 00 mov $0x1,%eax 28: 0f 05 syscall 2a:* 48 3d 00 f0 ff ff cmp $0xfffffffffffff000,%rax <-- trapping instruction 30: 77 51 ja 0x83 32: c3 ret 33: 48 83 ec 28 sub $0x28,%rsp 37: 48 89 54 24 18 mov %rdx,0x18(%rsp) 3c: 48 rex.W 3d: 89 .byte 0x89 3e: 74 24 je 0x64 Code starting with the faulting instruction =========================================== 0: 48 3d 00 f0 ff ff cmp $0xfffffffffffff000,%rax 6: 77 51 ja 0x59 8: c3 ret 9: 48 83 ec 28 sub $0x28,%rsp d: 48 89 54 24 18 mov %rdx,0x18(%rsp) 12: 48 rex.W 13: 89 .byte 0x89 14: 74 24 je 0x3a [ 3.547938] RSP: 002b:00007ffeb96ec398 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 [ 3.548018] RAX: ffffffffffffffda RBX: 00007ff5cb929780 RCX: 00007ff5cb82d257 [ 3.548099] RDX: 0000000000000004 RSI: 0000556b2a31e7f0 RDI: 0000000000000001 [ 3.548178] RBP: 0000000000000004 R08: 0000000000000000 R09: 00007ff5cb8dfd20 [ 3.548259] R10: 00007ff5cb8dfc20 R11: 0000000000000246 R12: 0000000000000004 Finger prints: work_grab_pending:__cancel_work:__cancel_work_sync:__dev_close_many:netif_close_many