====================================== | [ 8.106400] #PF: supervisor write access in kernel mode | [ 8.106435] #PF: error_code(0x0002) - not-present page | [ 8.106471] PGD 0 P4D 0 | [ 8.106492] Oops: Oops: 0002 [#1] SMP [ 8.106589] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 8.106630] 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) [ 8.106673] 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 [ 8.106783] RSP: 0018:ffffb6034051fae8 EFLAGS: 00010046 [ 8.106818] RAX: 0000000000000246 RBX: 0000000000000000 RCX: 00000000001009c2 [ 8.106863] RDX: ffffb6034051fb20 RSI: 0000000000000000 RDI: 0000000000000000 [ 8.106915] RBP: ffffb6034051fb20 R08: ffff9f354157b220 R09: 0000000000000001 [ 8.106970] R10: 0000000000000002 R11: 0000000000000000 R12: 0000000000000000 [ 8.107020] R13: ffffb6034051fc18 R14: 0000000000000020 R15: 0000000000000000 [ 8.107071] FS: 00007f747cc2c000(0000) GS:ffff9f35e42d9000(0000) knlGS:0000000000000000 [ 8.107122] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 8.107177] CR2: 0000000000000000 CR3: 00000000067c6003 CR4: 0000000000772ef0 [ 8.107225] PKRU: 55555554 [ 8.107244] Call Trace: [ 8.107261] [ 8.107282] __cancel_work (kernel/workqueue.c:4366) [ 8.107315] __cancel_work_sync (kernel/workqueue.c:4381) [ 8.107343] __dev_close_many (net/core/dev.c:1879 (discriminator 2) net/core/dev.c:1932 (discriminator 2)) [ 8.107371] netif_close_many (net/core/dev.c:1959) [ 8.107398] unregister_netdevice_many_notify (net/core/dev.c:12476 net/core/dev.c:12537) [ 8.107434] unregister_netdevice_queue (net/core/dev.c:12452) [ 8.107469] nsim_destroy (drivers/net/netdevsim/netdevsim.h:397 (discriminator 2) drivers/net/netdevsim/netdev.c:1179 (discriminator 2)) netdevsim [ 8.107510] __nsim_dev_port_del (drivers/net/netdevsim/dev.c:443 drivers/net/netdevsim/dev.c:1528) netdevsim [ 8.107545] nsim_dev_reload_destroy (drivers/net/netdevsim/dev.c:1537 drivers/net/netdevsim/dev.c:1762) netdevsim [ 8.107581] nsim_drv_remove (drivers/net/netdevsim/dev.c:1779) netdevsim [ 8.107616] device_release_driver_internal (drivers/base/dd.c:1276 drivers/base/dd.c:1297) [ 8.107652] bus_remove_device (./include/linux/kobject.h:193 (discriminator 3) drivers/base/base.h:73 (discriminator 3) drivers/base/bus.c:586 (discriminator 3)) [ 8.107679] device_del (drivers/base/core.c:3879) [ 8.107709] device_unregister (drivers/base/core.c:3796 drivers/base/core.c:3920) [ 8.107739] del_device_store (drivers/net/netdevsim/bus.c:248) netdevsim [ 8.107827] kernfs_fop_write_iter (fs/kernfs/file.c:88 fs/kernfs/file.c:356) [ 8.107870] vfs_write (fs/read_write.c:594 fs/read_write.c:686) [ 8.107903] ksys_write (fs/read_write.c:738) [ 8.107931] do_syscall_64 (arch/x86/entry/syscall_64.c:63 arch/x86/entry/syscall_64.c:94) [ 8.107972] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130) [ 8.108009] RIP: 0033:0x7f747cd2c257 [ 8.108036] 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 [ 8.108145] RSP: 002b:00007ffc0bc819d8 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 [ 8.108206] RAX: ffffffffffffffda RBX: 00007f747ce28780 RCX: 00007f747cd2c257 [ 8.108251] RDX: 0000000000000004 RSI: 0000557b36490f30 RDI: 0000000000000001 [ 8.108296] RBP: 0000000000000004 R08: 0000000000000003 R09: 0000000000000000 [ 8.108346] R10: 0000000000000100 R11: 0000000000000246 R12: 0000000000000004 Finger prints: work_grab_pending:__cancel_work:__cancel_work_sync:__dev_close_many:netif_close_many