====================================== | [ 2.533644] #PF: supervisor write access in kernel mode | [ 2.533683] #PF: error_code(0x0002) - not-present page | [ 2.533734] PGD 0 P4D 0 | [ 2.533761] Oops: Oops: 0002 [#1] SMP [ 2.533877] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 2.533941] 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) [ 2.533987] 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 [ 2.534115] RSP: 0018:ffffbbf2805b7ae8 EFLAGS: 00010046 [ 2.534175] RAX: 0000000000000246 RBX: 0000000000000000 RCX: 000000008010000d [ 2.534231] RDX: ffffbbf2805b7b20 RSI: 0000000000000000 RDI: 0000000000000000 [ 2.534289] RBP: ffffbbf2805b7b20 R08: 0000000000000001 R09: ffffffff9a556300 [ 2.534343] R10: ffff9c81c6e8d000 R11: 0000000000000001 R12: 0000000000000000 [ 2.534393] R13: ffffbbf2805b7c18 R14: 0000000000000020 R15: 0000000000000000 [ 2.534450] FS: 00007f340c21e000(0000) GS:ffff9c8263311000(0000) knlGS:0000000000000000 [ 2.534523] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 2.534571] CR2: 0000000000000000 CR3: 0000000003308002 CR4: 0000000000772ef0 [ 2.534649] PKRU: 55555554 [ 2.534675] Call Trace: [ 2.534694] [ 2.534726] __cancel_work (kernel/workqueue.c:4366) [ 2.534774] __cancel_work_sync (kernel/workqueue.c:4381) [ 2.534808] __dev_close_many (net/core/dev.c:1879 (discriminator 2) net/core/dev.c:1932 (discriminator 2)) [ 2.534846] netif_close_many (net/core/dev.c:1959) [ 2.534881] unregister_netdevice_many_notify (net/core/dev.c:12476 net/core/dev.c:12537) [ 2.534922] unregister_netdevice_queue (net/core/dev.c:12452) [ 2.534963] nsim_destroy (drivers/net/netdevsim/netdevsim.h:397 (discriminator 2) drivers/net/netdevsim/netdev.c:1179 (discriminator 2)) netdevsim [ 2.535030] __nsim_dev_port_del (drivers/net/netdevsim/dev.c:443 drivers/net/netdevsim/dev.c:1528) netdevsim [ 2.535077] nsim_dev_reload_destroy (drivers/net/netdevsim/dev.c:1537 drivers/net/netdevsim/dev.c:1762) netdevsim [ 2.535122] nsim_drv_remove (drivers/net/netdevsim/dev.c:1779) netdevsim [ 2.535190] device_release_driver_internal (drivers/base/dd.c:1276 drivers/base/dd.c:1297) [ 2.535233] bus_remove_device (./include/linux/kobject.h:193 (discriminator 3) drivers/base/base.h:73 (discriminator 3) drivers/base/bus.c:586 (discriminator 3)) [ 2.535262] device_del (drivers/base/core.c:3879) [ 2.535298] device_unregister (drivers/base/core.c:3796 drivers/base/core.c:3920) [ 2.535329] del_device_store (drivers/net/netdevsim/bus.c:248) netdevsim [ 2.535372] kernfs_fop_write_iter (fs/kernfs/file.c:88 fs/kernfs/file.c:356) [ 2.535422] vfs_write (fs/read_write.c:594 fs/read_write.c:686) [ 2.535472] ksys_write (fs/read_write.c:738) [ 2.535506] do_syscall_64 (arch/x86/entry/syscall_64.c:63 arch/x86/entry/syscall_64.c:94) [ 2.535543] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130) [ 2.535587] RIP: 0033:0x7f340c31e257 [ 2.535632] 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 [ 2.535760] RSP: 002b:00007fff8ea65618 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 [ 2.535818] RAX: ffffffffffffffda RBX: 00007f340c41a780 RCX: 00007f340c31e257 [ 2.535868] RDX: 0000000000000004 RSI: 0000564b6400a930 RDI: 0000000000000001 [ 2.535921] RBP: 0000000000000004 R08: 0000000000000000 R09: 00007f340c3d0d20 [ 2.535975] R10: 00007f340c3d0c20 R11: 0000000000000246 R12: 0000000000000004 Finger prints: work_grab_pending:__cancel_work:__cancel_work_sync:__dev_close_many:netif_close_many