======================================
| [ 15.931949][ T228] Cannot link a netdevsim to itself
| [ 15.932973][ T228] Format for linking two devices is "netnsfd_a:ifidx_a netnsfd_b:ifidx_b" (int uint int uint).
| [ 17.189829][ T228] BUG: using smp_processor_id() in preemptible [00000000] code: peer.sh/228
| [ 17.190654][ T228] caller is nsim_queue_uninit (./include/linux/netdevice.h:3023 (discriminator 3) drivers/net/netdevsim/netdev.c:638 (discriminator 3) drivers/net/netdevsim/netdev.c:917 (discriminator 3)) netdevsim
[ 17.191102][ T228] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011
[ 17.191104][ T228] Call Trace:
[ 17.191107][ T228]
[ 17.191109][ T228] dump_stack_lvl (lib/dump_stack.c:123)
[ 17.191118][ T228] check_preemption_disabled (lib/smp_processor_id.c:52)
[ 17.191128][ T228] nsim_queue_uninit (./include/linux/netdevice.h:3023 (discriminator 3) drivers/net/netdevsim/netdev.c:638 (discriminator 3) drivers/net/netdevsim/netdev.c:917 (discriminator 3)) netdevsim
[ 17.191147][ T228] ? nsim_destroy (drivers/net/netdevsim/netdev.c:1062) netdevsim
[ 17.191165][ T228] nsim_destroy (drivers/net/netdevsim/netdev.c:1062) netdevsim
[ 17.191184][ T228] __nsim_dev_port_del (drivers/net/netdevsim/dev.c:426 drivers/net/netdevsim/dev.c:1429) netdevsim
[ 17.191202][ T228] nsim_dev_reload_destroy (drivers/net/netdevsim/dev.c:1438 drivers/net/netdevsim/dev.c:1661) netdevsim
[ 17.191221][ T228] nsim_drv_remove (drivers/net/netdevsim/dev.c:1678) netdevsim
[ 17.191237][ T228] device_release_driver_internal (drivers/base/dd.c:1274 drivers/base/dd.c:1295)
[ 17.191245][ T228] ? klist_put (lib/klist.c:220)
[ 17.191252][ T228] bus_remove_device (./include/linux/kobject.h:193 drivers/base/base.h:73 drivers/base/bus.c:586)
[ 17.191263][ T228] device_del (drivers/base/core.c:3882)
[ 17.191270][ T228] ? __pfx_device_del (drivers/base/core.c:3836)
[ 17.191283][ T228] device_unregister (drivers/base/core.c:3799 drivers/base/core.c:3923)
[ 17.191287][ T228] del_device_store (drivers/net/netdevsim/bus.c:230) netdevsim
[ 17.191305][ T228] ? __pfx_del_device_store (drivers/net/netdevsim/bus.c:197) netdevsim
[ 17.191318][ T228] ? sysfs_file_kobj (./include/linux/rcupdate.h:341 ./include/linux/rcupdate.h:871 ./include/linux/rcupdate.h:1155 fs/sysfs/file.c:24)
[ 17.191325][ T228] ? sysfs_file_kobj (fs/sysfs/file.c:26)
[ 17.191333][ T228] ? __pfx_sysfs_kf_write (fs/sysfs/file.c:138)
[ 17.191336][ T228] kernfs_fop_write_iter (fs/kernfs/file.c:334)
[ 17.191345][ T228] vfs_write (fs/read_write.c:593 fs/read_write.c:686)
[ 17.191356][ T228] ? __pfx_vfs_write (fs/read_write.c:667)
[ 17.191366][ T228] ? __lock_acquire (kernel/locking/lockdep.c:5240)
[ 17.191386][ T228] ksys_write (fs/read_write.c:738)
[ 17.191392][ T228] ? __pfx_ksys_write (fs/read_write.c:728)
[ 17.191408][ T228] do_syscall_64 (arch/x86/entry/syscall_64.c:63 arch/x86/entry/syscall_64.c:94)
[ 17.191417][ T228] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130)
[ 17.191421][ T228] RIP: 0033:0x7f97fc72bb77
[ 17.191425][ T228] Code: 0b 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: 0b 00 or (%rax),%eax
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
[ 17.191428][ T228] RSP: 002b:00007fffce92e3d8 EFLAGS: 00000246 ORIG_RAX: 0000000000000001
[ 17.191432][ T228] RAX: ffffffffffffffda RBX: 0000000000000004 RCX: 00007f97fc72bb77
[ 17.191434][ T228] RDX: 0000000000000004 RSI: 000055db5e55f8c0 RDI: 0000000000000001
[ 17.191435][ T228] RBP: 000055db5e55f8c0 R08: 0000000000000000 R09: 00007f97fc79e4e0
[ 17.191437][ T228] R10: 00007f97fc79e3e0 R11: 0000000000000246 R12: 0000000000000004
[ 17.191439][ T228] R13: 00007f97fc7e7760 R14: 0000000000000004 R15: 00007f97fc7e29c0
| [ 17.191439][ T228] R13: 00007f97fc7e7760 R14: 0000000000000004 R15: 00007f97fc7e29c0
| [ 17.191456][ T228]
| [ 17.317469][ T228] BUG: using smp_processor_id() in preemptible [00000000] code: peer.sh/228
| [ 17.318189][ T228] caller is nsim_queue_uninit (./include/linux/netdevice.h:3023 (discriminator 3) drivers/net/netdevsim/netdev.c:638 (discriminator 3) drivers/net/netdevsim/netdev.c:917 (discriminator 3)) netdevsim
[ 17.318787][ T228] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011
[ 17.318789][ T228] Call Trace:
[ 17.318791][ T228]
[ 17.318793][ T228] dump_stack_lvl (lib/dump_stack.c:123)
[ 17.318802][ T228] check_preemption_disabled (lib/smp_processor_id.c:52)
[ 17.318811][ T228] nsim_queue_uninit (./include/linux/netdevice.h:3023 (discriminator 3) drivers/net/netdevsim/netdev.c:638 (discriminator 3) drivers/net/netdevsim/netdev.c:917 (discriminator 3)) netdevsim
[ 17.318830][ T228] ? nsim_destroy (drivers/net/netdevsim/netdev.c:1062) netdevsim
[ 17.318849][ T228] nsim_destroy (drivers/net/netdevsim/netdev.c:1062) netdevsim
[ 17.318868][ T228] __nsim_dev_port_del (drivers/net/netdevsim/dev.c:426 drivers/net/netdevsim/dev.c:1429) netdevsim
[ 17.318886][ T228] nsim_dev_reload_destroy (drivers/net/netdevsim/dev.c:1438 drivers/net/netdevsim/dev.c:1661) netdevsim
[ 17.318905][ T228] nsim_drv_remove (drivers/net/netdevsim/dev.c:1678) netdevsim
[ 17.318922][ T228] device_release_driver_internal (drivers/base/dd.c:1274 drivers/base/dd.c:1295)
[ 17.318928][ T228] ? klist_put (lib/klist.c:220)
[ 17.318936][ T228] bus_remove_device (./include/linux/kobject.h:193 drivers/base/base.h:73 drivers/base/bus.c:586)
[ 17.318946][ T228] device_del (drivers/base/core.c:3882)
[ 17.318953][ T228] ? __pfx_device_del (drivers/base/core.c:3836)
[ 17.318967][ T228] device_unregister (drivers/base/core.c:3799 drivers/base/core.c:3923)
[ 17.318971][ T228] del_device_store (drivers/net/netdevsim/bus.c:230) netdevsim
[ 17.318989][ T228] ? __pfx_del_device_store (drivers/net/netdevsim/bus.c:197) netdevsim
[ 17.319001][ T228] ? sysfs_file_kobj (./include/linux/rcupdate.h:341 ./include/linux/rcupdate.h:871 ./include/linux/rcupdate.h:1155 fs/sysfs/file.c:24)
[ 17.319009][ T228] ? sysfs_file_kobj (fs/sysfs/file.c:26)
[ 17.319017][ T228] ? __pfx_sysfs_kf_write (fs/sysfs/file.c:138)
[ 17.319019][ T228] kernfs_fop_write_iter (fs/kernfs/file.c:334)
[ 17.319029][ T228] vfs_write (fs/read_write.c:593 fs/read_write.c:686)
[ 17.319040][ T228] ? __pfx_vfs_write (fs/read_write.c:667)
[ 17.319050][ T228] ? __lock_acquire (kernel/locking/lockdep.c:5240)
[ 17.319070][ T228] ksys_write (fs/read_write.c:738)
[ 17.319075][ T228] ? __pfx_ksys_write (fs/read_write.c:728)
[ 17.319089][ T228] do_syscall_64 (arch/x86/entry/syscall_64.c:63 arch/x86/entry/syscall_64.c:94)
[ 17.319096][ T228] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130)
[ 17.319100][ T228] RIP: 0033:0x7f97fc72bb77
[ 17.319104][ T228] Code: 0b 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: 0b 00 or (%rax),%eax
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
[ 17.319107][ T228] RSP: 002b:00007fffce92e3d8 EFLAGS: 00000246 ORIG_RAX: 0000000000000001
[ 17.319111][ T228] RAX: ffffffffffffffda RBX: 0000000000000004 RCX: 00007f97fc72bb77
[ 17.319113][ T228] RDX: 0000000000000004 RSI: 000055db5e55f8c0 RDI: 0000000000000001
[ 17.319114][ T228] RBP: 000055db5e55f8c0 R08: 0000000000000000 R09: 00007f97fc79e4e0
[ 17.319116][ T228] R10: 00007f97fc79e3e0 R11: 0000000000000246 R12: 0000000000000004
Finger prints:
check_preemption_disabled:nsim_queue_uninit:nsim_destroy:__nsim_dev_port_del:nsim_dev_reload_destroy