====================================== | [ 1106.664876][ C0] #6: ffffffffb8b8bda0 (rcu_read_lock){....}-{1:3}, at: unwind_next_frame (./include/linux/rcupdate.h:300 (discriminator 2) ./include/linux/rcupdate.h:838 (discriminator 2) ./include/linux/rcupdate.h:1181 (discriminator 2) arch/x86/kernel/unwind_orc.c:495 (discriminator 2)) | [ 1106.665041][ C0] #7: ffffffffb8b8bc80 (rcu_callback){....}-{0:0}, at: rcu_do_batch (./include/linux/rcupdate.h:300 (discriminator 2) kernel/rcu/tree.c:2611 (discriminator 2)) | [ 1106.665204][ C0] | [ 1106.665204][ C0] stack backtrace: [ 1106.665324][ C0] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 1106.665326][ C0] Workqueue: netns cleanup_net [ 1106.665329][ C0] Call Trace: [ 1106.665330][ C0] [ 1106.665332][ C0] dump_stack_lvl (lib/dump_stack.c:94 lib/dump_stack.c:120) [ 1106.665337][ C0] print_usage_bug.part.0.cold (kernel/locking/lockdep.c:4042) [ 1106.665339][ C0] ? filter_irq_stacks (kernel/stacktrace.c:402) [ 1106.665343][ C0] mark_lock_irq (kernel/locking/lockdep.c:4013 kernel/locking/lockdep.c:4056 kernel/locking/lockdep.c:4267) [ 1106.665344][ C0] ? sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1061 (discriminator 37) arch/x86/kernel/apic/apic.c:1061 (discriminator 37)) [ 1106.665346][ C0] ? asm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:697) [ 1106.665347][ C0] ? save_trace (kernel/locking/lockdep.c:589) [ 1106.665349][ C0] ? read_from_oldmem (fs/proc/vmcore.c:226) [ 1106.665351][ C0] mark_lock (kernel/locking/lockdep.c:4753) [ 1106.665353][ C0] mark_usage (kernel/locking/lockdep.c:4642) [ 1106.665354][ C0] __lock_acquire (kernel/locking/lockdep.c:5191) [ 1106.665356][ C0] ? mark_held_locks (kernel/locking/lockdep.c:4325) [ 1106.665357][ C0] ? rcu_do_batch (./include/linux/rcupdate.h:310 (discriminator 2) kernel/rcu/tree.c:2619 (discriminator 2)) [ 1106.665359][ C0] lock_acquire.part.0 (kernel/locking/lockdep.c:5868 (discriminator 1)) [ 1106.665361][ C0] ? tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred [ 1106.665363][ C0] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 1106.665365][ C0] ? lock_acquire (./include/trace/events/lock.h:24 (discriminator 22) kernel/locking/lockdep.c:5831 (discriminator 22)) [ 1106.665367][ C0] _raw_spin_lock (./include/linux/spinlock_api_smp.h:158 (discriminator 1) kernel/locking/spinlock.c:158 (discriminator 1)) [ 1106.665368][ C0] ? tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred [ 1106.665369][ C0] tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred [ 1106.665371][ C0] tcf_action_rcu_free (net/sched/act_api.c:367 net/sched/act_api.c:378) [ 1106.665372][ C0] ? rcu_do_batch (./include/linux/rcupdate.h:310 (discriminator 2) kernel/rcu/tree.c:2619 (discriminator 2)) [ 1106.665374][ C0] rcu_do_batch (kernel/rcu/tree.c:2617) [ 1106.665377][ C0] ? trace_rcu_batch_end (./include/trace/events/rcu.h:714 (discriminator 19)) [ 1106.665379][ C0] ? mark_held_locks (kernel/locking/lockdep.c:4325) [ 1106.665380][ C0] ? lockdep_hardirqs_on_prepare.part.0 (kernel/locking/lockdep.c:470 (discriminator 2) kernel/locking/lockdep.c:4411 (discriminator 2)) [ 1106.665381][ C0] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4472) [ 1106.665383][ C0] rcu_core (kernel/rcu/tree.c:2869) [ 1106.665384][ C0] handle_softirqs (kernel/softirq.c:622) [ 1106.665386][ C0] ? find_held_lock (kernel/locking/lockdep.c:5350) [ 1106.665388][ C0] ? __lock_release.isra.0 (kernel/locking/lockdep.c:5535) [ 1106.665389][ C0] ? _local_bh_enable (kernel/softirq.c:405 (discriminator 1)) [ 1106.665391][ C0] __irq_exit_rcu (kernel/softirq.c:656 kernel/softirq.c:496 kernel/softirq.c:735) [ 1106.665392][ C0] irq_exit_rcu (kernel/softirq.c:752) [ 1106.665394][ C0] sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1061 (discriminator 37) arch/x86/kernel/apic/apic.c:1061 (discriminator 37)) [ 1106.665395][ C0] [ 1106.665396][ C0] [ 1106.665397][ C0] asm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:697) [ 1106.665398][ C0] RIP: 0010:lock_acquire.part.0 (./arch/x86/include/asm/irqflags.h:158 (discriminator 1) kernel/locking/lockdep.c:5871 (discriminator 1)) [ 1106.665400][ C0] Code: ff 65 0f c1 05 f7 56 c1 04 83 f8 01 4c 8b 14 24 0f 85 30 01 00 00 9c 58 f6 c4 02 0f 85 4d 01 00 00 4d 85 d2 0f 85 16 01 00 00 <48> 8b 44 24 30 65 48 2b 05 69 10 c1 04 0f 85 43 01 00 00 48 83 c4 All code ======== 0: ff 65 0f jmp *0xf(%rbp) 3: c1 05 f7 56 c1 04 83 roll $0x83,0x4c156f7(%rip) # 0x4c15701 a: f8 clc b: 01 4c 8b 14 add %ecx,0x14(%rbx,%rcx,4) f: 24 0f and $0xf,%al 11: 85 30 test %esi,(%rax) 13: 01 00 add %eax,(%rax) 15: 00 9c 58 f6 c4 02 0f add %bl,0xf02c4f6(%rax,%rbx,2) 1c: 85 4d 01 test %ecx,0x1(%rbp) 1f: 00 00 add %al,(%rax) 21: 4d 85 d2 test %r10,%r10 24: 0f 85 16 01 00 00 jne 0x140 2a:* 48 8b 44 24 30 mov 0x30(%rsp),%rax <-- trapping instruction 2f: 65 48 2b 05 69 10 c1 sub %gs:0x4c11069(%rip),%rax # 0x4c110a0 36: 04 37: 0f 85 43 01 00 00 jne 0x180 3d: 48 rex.W 3e: 83 .byte 0x83 3f: c4 .byte 0xc4 Code starting with the faulting instruction =========================================== 0: 48 8b 44 24 30 mov 0x30(%rsp),%rax 5: 65 48 2b 05 69 10 c1 sub %gs:0x4c11069(%rip),%rax # 0x4c11076 c: 04 d: 0f 85 43 01 00 00 jne 0x156 13: 48 rex.W 14: 83 .byte 0x83 15: c4 .byte 0xc4 [ 1106.665402][ C0] RSP: 0018:ffa00000000c7108 EFLAGS: 00000206 [ 1106.665404][ C0] RAX: 0000000000000046 RBX: 0000000000000000 RCX: ffa56a8a55738f1b [ 1106.665405][ C0] RDX: 0000000000000001 RSI: ffffffffb807e08a RDI: ffffffffb7a727c0 [ 1106.665406][ C0] RBP: 0000000000000000 R08: 0000000000000001 R09: ff11000001aed220 [ 1106.665407][ C0] R10: 0000000000000200 R11: 0000000000000001 R12: ffffffffb8b8bda0 [ 1106.665408][ C0] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000002 [ 1106.665410][ C0] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 1106.665412][ C0] ? lock_acquire (./include/trace/events/lock.h:24 (discriminator 22) kernel/locking/lockdep.c:5831 (discriminator 22)) [ 1106.665413][ C0] unwind_next_frame (./include/linux/rcupdate.h:300 (discriminator 2) ./include/linux/rcupdate.h:838 (discriminator 2) ./include/linux/rcupdate.h:1181 (discriminator 2) arch/x86/kernel/unwind_orc.c:495 (discriminator 2)) [ 1106.665415][ C0] ? unwind_next_frame (./include/linux/rcupdate.h:300 (discriminator 2) ./include/linux/rcupdate.h:838 (discriminator 2) ./include/linux/rcupdate.h:1181 (discriminator 2) arch/x86/kernel/unwind_orc.c:495 (discriminator 2)) [ 1106.665416][ C0] ? __unwind_start (arch/x86/kernel/unwind_orc.c:741) [ 1106.665417][ C0] ? unwind_next_frame (./include/linux/rcupdate.h:310 (discriminator 2) ./include/linux/rcupdate.h:869 (discriminator 2) ./include/linux/rcupdate.h:1181 (discriminator 2) arch/x86/kernel/unwind_orc.c:495 (discriminator 2)) [ 1106.665419][ C0] ? stack_access_ok (./arch/x86/include/asm/stacktrace.h:55) [ 1106.665421][ C0] ? get_stack_info_noinstr (arch/x86/kernel/dumpstack_64.c:173) [ 1106.665423][ C0] __unwind_start (arch/x86/kernel/unwind_orc.c:787) [ 1106.665424][ C0] ? write_profile (profile.c:?) [ 1106.665426][ C0] arch_stack_walk (./arch/x86/include/asm/unwind.h:64 arch/x86/kernel/stacktrace.c:24) [ 1106.665430][ C0] ? __unwind_start (arch/x86/kernel/unwind_orc.c:741) [ 1106.665432][ C0] stack_trace_save (kernel/stacktrace.c:122 (discriminator 1)) [ 1106.665434][ C0] ? filter_irq_stacks (kernel/stacktrace.c:402) [ 1106.665436][ C0] ? validate_chain (kernel/locking/lockdep.c:3801 (discriminator 2) kernel/locking/lockdep.c:3821 (discriminator 2) kernel/locking/lockdep.c:3876 (discriminator 2)) [ 1106.665438][ C0] kasan_save_stack (mm/kasan/common.c:57) [ 1106.665444][ C0] kasan_record_aux_stack (mm/kasan/generic.c:556) [ 1106.665446][ C0] ? kernfs_vfs_xattr_set (inode.c:?) [ 1106.665448][ C0] __call_rcu_common.constprop.0 (kernel/rcu/tree.c:3131) [ 1106.665449][ C0] ? do_raw_spin_unlock (./include/linux/instrumented.h:82 ./include/linux/atomic/atomic-instrumented.h:32 ./include/asm-generic/qspinlock.h:57 kernel/locking/spinlock_debug.c:101 kernel/locking/spinlock_debug.c:141) [ 1106.665451][ C0] kernfs_put.part.0 (fs/kernfs/dir.c:618) [ 1106.665453][ C0] kernfs_remove_by_name_ns (fs/kernfs/dir.c:592 fs/kernfs/dir.c:1799) [ 1106.665455][ C0] remove_files (./include/linux/kernfs.h:639 fs/sysfs/group.c:28) [ 1106.665457][ C0] sysfs_remove_group (fs/sysfs/group.c:328) [ 1106.665459][ C0] sysfs_remove_groups (fs/sysfs/group.c:352 fs/sysfs/group.c:344) [ 1106.665461][ C0] device_remove_attrs (drivers/base/core.c:2844 drivers/base/core.c:2980) [ 1106.665464][ C0] ? device_remove_file (drivers/base/core.c:3073) [ 1106.665467][ C0] ? kernfs_remove_by_name_ns (fs/kernfs/dir.c:1803) [ 1106.665469][ C0] device_del (drivers/base/core.c:3894) [ 1106.665470][ C0] ? __device_link_del (./include/linux/kobject.h:89) [ 1106.665472][ C0] unregister_netdevice_many_notify (net/core/dev.c:12479) [ 1106.665475][ C0] ? unregister_netdevice_queued (./include/linux/list.h:404 (discriminator 3)) [ 1106.665477][ C0] ? mutex_is_locked (./include/linux/instrumented.h:82 ./include/linux/atomic/atomic-instrumented.h:3188 kernel/locking/mutex.h:48 kernel/locking/mutex.c:65) [ 1106.665479][ C0] ? rtnl_is_locked (net/core/rtnetlink.c:169) [ 1106.665481][ C0] ? unregister_netdevice_queue (net/core/dev.c:12311 (discriminator 1)) [ 1106.665484][ C0] default_device_exit_batch (net/core/dev.c:12507 net/core/dev.c:13099) [ 1106.665486][ C0] ? unregister_netdev (./include/net/net_namespace.h:419 (discriminator 7)) [ 1106.665488][ C0] ? perf_trace_sched_switch (./include/linux/list.h:1021 (discriminator 3)) [ 1106.665491][ C0] ? fou_exit_net (net/ipv4/fou_core.c:1228) [ 1106.665495][ C0] ops_undo_list (net/core/net_namespace.c:205 net/core/net_namespace.c:252) [ 1106.665497][ C0] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4472) [ 1106.665498][ C0] ? netns_install (./include/linux/ns_common.h:26) [ 1106.665499][ C0] ? __lock_release.isra.0 (kernel/locking/lockdep.c:5535) [ 1106.665501][ C0] ? idr_destroy (lib/radix-tree.c:310 lib/radix-tree.c:674 lib/radix-tree.c:1563) [ 1106.665503][ C0] cleanup_net (net/core/net_namespace.c:702) [ 1106.665505][ C0] ? net_passive_dec (./include/linux/llist.h:241) [ 1106.665506][ C0] ? process_one_work (kernel/workqueue.c:3290 (discriminator 2)) [ 1106.665508][ C0] ? lock_acquire (./include/trace/events/lock.h:24 (discriminator 22) kernel/locking/lockdep.c:5831 (discriminator 22)) [ 1106.665510][ C0] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 1106.665512][ C0] process_one_work (kernel/workqueue.c:3314) [ 1106.665514][ C0] ? pwq_dec_nr_in_flight (kernel/workqueue.c:1822 (discriminator 4)) [ 1106.665516][ C0] ? lock_acquire.part.0 (kernel/locking/lockdep.c:5868 (discriminator 1)) [ 1106.665518][ C0] worker_thread (kernel/workqueue.c:3397 kernel/workqueue.c:3478) [ 1106.665522][ C0] ? rescuer_thread (./include/linux/list.h:404 (discriminator 3)) [ 1106.665523][ C0] kthread (kernel/kthread.c:436) [ 1106.665525][ C0] ? trace_irq_enable.constprop.0 (./include/trace/events/preemptirq.h:40 (discriminator 22)) [ 1106.665528][ C0] ? kthread_affine_node (kernel/kthread.c:378) [ 1106.665530][ C0] ret_from_fork (arch/x86/kernel/process.c:158) [ 1106.665532][ C0] ? arch_exit_to_user_mode_prepare.isra.0 (arch/x86/entry/syscall_64.c:37) [ 1106.665534][ C0] ? __switch_to (arch/x86/kernel/process_64.c:403 arch/x86/kernel/process_64.c:663) [ 1106.665536][ C0] ? kthread_affine_node (kernel/kthread.c:378) Finger prints: mark_lock_irq:mark_lock:mark_usage:__lock_acquire:_raw_spin_lock