====================================== | [ 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