====================================== | [ 1203.033930][ C1] #3: ffffffffad8b4300 (rtnl_mutex){+.+.}-{4:4}, at: default_device_exit_batch (net/core/dev.c:13085) | [ 1203.034197][ C1] #4: ffffffffad18bc80 (rcu_callback){....}-{0:0}, at: rcu_do_batch (./include/linux/rcupdate.h:300 (discriminator 2) kernel/rcu/tree.c:2611 (discriminator 2)) | [ 1203.034434][ C1] | [ 1203.034434][ C1] stack backtrace: [ 1203.034601][ C1] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 1203.034604][ C1] Workqueue: netns cleanup_net [ 1203.034609][ C1] Call Trace: [ 1203.034611][ C1] [ 1203.034614][ C1] dump_stack_lvl (lib/dump_stack.c:94 lib/dump_stack.c:120) [ 1203.034620][ C1] print_usage_bug.part.0.cold (kernel/locking/lockdep.c:4042) [ 1203.034624][ C1] ? filter_irq_stacks (kernel/stacktrace.c:402) [ 1203.034629][ C1] mark_lock_irq (kernel/locking/lockdep.c:4013 kernel/locking/lockdep.c:4056 kernel/locking/lockdep.c:4267) [ 1203.034632][ C1] ? sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1061 (discriminator 37) arch/x86/kernel/apic/apic.c:1061 (discriminator 37)) [ 1203.034635][ C1] ? asm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:697) [ 1203.034638][ C1] ? save_trace (kernel/locking/lockdep.c:589) [ 1203.034640][ C1] ? net_alloc_generic (./include/linux/slab.h:954 ./include/linux/slab.h:1188 net/core/net_namespace.c:76) [ 1203.034643][ C1] mark_lock (kernel/locking/lockdep.c:4753) [ 1203.034646][ C1] mark_usage (kernel/locking/lockdep.c:4642) [ 1203.034648][ C1] __lock_acquire (kernel/locking/lockdep.c:5191) [ 1203.034651][ C1] ? mark_held_locks (kernel/locking/lockdep.c:4325) [ 1203.034653][ C1] ? rcu_do_batch (./include/linux/rcupdate.h:310 (discriminator 2) kernel/rcu/tree.c:2619 (discriminator 2)) [ 1203.034657][ C1] lock_acquire.part.0 (kernel/locking/lockdep.c:5868 (discriminator 1)) [ 1203.034660][ C1] ? tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred [ 1203.034663][ C1] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 1203.034666][ C1] ? lock_acquire (./include/trace/events/lock.h:24 (discriminator 22) kernel/locking/lockdep.c:5831 (discriminator 22)) [ 1203.034669][ C1] _raw_spin_lock (./include/linux/spinlock_api_smp.h:158 (discriminator 1) kernel/locking/spinlock.c:158 (discriminator 1)) [ 1203.034672][ C1] ? tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred [ 1203.034674][ C1] tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred [ 1203.034677][ C1] tcf_action_rcu_free (net/sched/act_api.c:367 net/sched/act_api.c:378) [ 1203.034680][ C1] ? rcu_do_batch (./include/linux/rcupdate.h:310 (discriminator 2) kernel/rcu/tree.c:2619 (discriminator 2)) [ 1203.034683][ C1] rcu_do_batch (kernel/rcu/tree.c:2617) [ 1203.034687][ C1] ? trace_rcu_batch_end (./include/trace/events/rcu.h:714 (discriminator 19)) [ 1203.034691][ C1] ? lockdep_hardirqs_on_prepare.part.0 (kernel/locking/lockdep.c:470 (discriminator 2) kernel/locking/lockdep.c:4411 (discriminator 2)) [ 1203.034693][ C1] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4472) [ 1203.034695][ C1] ? _raw_spin_unlock_irqrestore (./include/linux/spinlock_api_smp.h:178 (discriminator 6) kernel/locking/spinlock.c:198 (discriminator 6)) [ 1203.034697][ C1] ? _raw_spin_unlock_irqrestore (./include/linux/spinlock_api_smp.h:179 (discriminator 1) kernel/locking/spinlock.c:198 (discriminator 1)) [ 1203.034700][ C1] rcu_core (kernel/rcu/tree.c:2869) [ 1203.034703][ C1] handle_softirqs (kernel/softirq.c:622) [ 1203.034706][ C1] ? find_held_lock (kernel/locking/lockdep.c:5350) [ 1203.034708][ C1] ? __lock_release.isra.0 (kernel/locking/lockdep.c:5535) [ 1203.034711][ C1] ? _local_bh_enable (kernel/softirq.c:405 (discriminator 1)) [ 1203.034714][ C1] __irq_exit_rcu (kernel/softirq.c:656 kernel/softirq.c:496 kernel/softirq.c:735) [ 1203.034717][ C1] irq_exit_rcu (kernel/softirq.c:752) [ 1203.034719][ C1] sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1061 (discriminator 37) arch/x86/kernel/apic/apic.c:1061 (discriminator 37)) [ 1203.034721][ C1] [ 1203.034722][ C1] [ 1203.034723][ C1] asm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:697) [ 1203.034726][ C1] RIP: 0010:preempt_schedule_irq (kernel/sched/core.c:7513) [ 1203.034730][ C1] Code: 00 00 fc ff df 53 65 48 8b 1d 10 d9 5f 02 48 c1 eb 03 48 01 c3 bf 01 00 00 00 e8 ff 42 92 fd e8 ca fc c6 fd fb bf 01 00 00 00 ef de ff ff 9c 58 fa f6 c4 02 75 22 bf 01 00 00 00 e8 3d b3 91 All code ======== 0: 00 00 add %al,(%rax) 2: fc cld 3: ff lcall (bad) 4: df 53 65 fists 0x65(%rbx) 7: 48 8b 1d 10 d9 5f 02 mov 0x25fd910(%rip),%rbx # 0x25fd91e e: 48 c1 eb 03 shr $0x3,%rbx 12: 48 01 c3 add %rax,%rbx 15: bf 01 00 00 00 mov $0x1,%edi 1a: e8 ff 42 92 fd call 0xfffffffffd92431e 1f: e8 ca fc c6 fd call 0xfffffffffdc6fcee 24: fb sti 25: bf 01 00 00 00 mov $0x1,%edi 2a:* e8 ef de ff ff call 0xffffffffffffdf1e <-- trapping instruction 2f: 9c pushf 30: 58 pop %rax 31: fa cli 32: f6 c4 02 test $0x2,%ah 35: 75 22 jne 0x59 37: bf 01 00 00 00 mov $0x1,%edi 3c: e8 .byte 0xe8 3d: 3d .byte 0x3d 3e: b3 91 mov $0x91,%bl Code starting with the faulting instruction =========================================== 0: e8 ef de ff ff call 0xffffffffffffdef4 5: 9c pushf 6: 58 pop %rax 7: fa cli 8: f6 c4 02 test $0x2,%ah b: 75 22 jne 0x2f d: bf 01 00 00 00 mov $0x1,%edi 12: e8 .byte 0xe8 13: 3d .byte 0x3d 14: b3 91 mov $0x91,%bl [ 1203.034732][ C1] RSP: 0018:ffa00000000c7750 EFLAGS: 00000286 [ 1203.034735][ C1] RAX: 000000000051efc5 RBX: ffe21c000035d8c8 RCX: ffffffffabd5c726 [ 1203.034737][ C1] RDX: ff11000001aec640 RSI: ffffffffac693d1a RDI: 0000000000000001 [ 1203.034738][ C1] RBP: ffa00000000c7798 R08: 0000000000000000 R09: 0000000000000000 [ 1203.034740][ C1] R10: 0000000000000001 R11: 0000000000000001 R12: 0000000000000000 [ 1203.034741][ C1] R13: ffa00000000c77a8 R14: 0000000000000000 R15: 0000000000000000 [ 1203.034744][ C1] ? preempt_schedule_irq (kernel/sched/core.c:7512) [ 1203.034747][ C1] irqentry_exit (./include/linux/irq-entry-common.h:468 (discriminator 1) ./include/linux/irq-entry-common.h:539 (discriminator 1) kernel/entry/common.c:164 (discriminator 1)) [ 1203.034750][ C1] ? lockdep_hardirqs_off (kernel/locking/lockdep.c:4511) [ 1203.034752][ C1] ? sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1061 (discriminator 37) arch/x86/kernel/apic/apic.c:1061 (discriminator 37)) [ 1203.034754][ C1] ? rcu_read_lock_any_held (./include/linux/lockdep.h:249 kernel/rcu/update.c:386 kernel/rcu/update.c:380) [ 1203.034757][ C1] asm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:697) [ 1203.034759][ C1] RIP: 0010:lockdep_unregister_key (kernel/locking/lockdep.c:6616) [ 1203.034761][ C1] Code: c6 05 80 87 33 06 00 e8 3b ef 60 02 65 ff 0d d4 ba c1 04 9c 58 f6 c4 02 0f 85 fa 00 00 00 41 f7 c4 00 02 00 00 74 01 fb 84 db <0f> 85 af 00 00 00 48 8b 6c 24 10 4c 8b 64 24 18 48 8b 5c 24 08 48 All code ======== 0: c6 05 80 87 33 06 00 movb $0x0,0x6338780(%rip) # 0x6338787 7: e8 3b ef 60 02 call 0x260ef47 c: 65 ff 0d d4 ba c1 04 decl %gs:0x4c1bad4(%rip) # 0x4c1bae7 13: 9c pushf 14: 58 pop %rax 15: f6 c4 02 test $0x2,%ah 18: 0f 85 fa 00 00 00 jne 0x118 1e: 41 f7 c4 00 02 00 00 test $0x200,%r12d 25: 74 01 je 0x28 27: fb sti 28: 84 db test %bl,%bl 2a:* 0f 85 af 00 00 00 jne 0xdf <-- trapping instruction 30: 48 8b 6c 24 10 mov 0x10(%rsp),%rbp 35: 4c 8b 64 24 18 mov 0x18(%rsp),%r12 3a: 48 8b 5c 24 08 mov 0x8(%rsp),%rbx 3f: 48 rex.W Code starting with the faulting instruction =========================================== 0: 0f 85 af 00 00 00 jne 0xb5 6: 48 8b 6c 24 10 mov 0x10(%rsp),%rbp b: 4c 8b 64 24 18 mov 0x18(%rsp),%r12 10: 48 8b 5c 24 08 mov 0x8(%rsp),%rbx 15: 48 rex.W [ 1203.034763][ C1] RSP: 0018:ffa00000000c7850 EFLAGS: 00000202 [ 1203.034765][ C1] RAX: 0000000000000046 RBX: 0000000000000001 RCX: 0000000000000001 [ 1203.034766][ C1] RDX: 0000000000000000 RSI: ffffffffac6c6d05 RDI: ffffffffac0727c0 [ 1203.034768][ C1] RBP: ffffffffaf8b02e8 R08: 0000000000000001 R09: 0000000000006a1d [ 1203.034769][ C1] R10: 0000000000000001 R11: 0000000000000008 R12: 0000000000000213 [ 1203.034770][ C1] R13: 0000000000000007 R14: ff110000191bc000 R15: ff110000191bc000 [ 1203.034775][ C1] __qdisc_destroy (./include/net/pkt_sched.h:332 net/sched/sch_generic.c:1105) [ 1203.034779][ C1] dev_shutdown (net/sched/sch_generic.c:1496 (discriminator 9)) [ 1203.034782][ C1] unregister_netdevice_many_notify (net/core/dev.c:12434) [ 1203.034786][ C1] ? unregister_netdevice_queued (./include/linux/list.h:404 (discriminator 3)) [ 1203.034789][ C1] ? 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) [ 1203.034792][ C1] ? rtnl_is_locked (net/core/rtnetlink.c:169) [ 1203.034795][ C1] ? unregister_netdevice_queue (net/core/dev.c:12311 (discriminator 1)) [ 1203.034800][ C1] default_device_exit_batch (net/core/dev.c:12507 net/core/dev.c:13099) [ 1203.034804][ C1] ? unregister_netdev (./include/net/net_namespace.h:419 (discriminator 7)) [ 1203.034807][ C1] ? perf_trace_sched_switch (./include/linux/list.h:1021 (discriminator 3)) [ 1203.034811][ C1] ? fou_exit_net (net/ipv4/fou_core.c:1228) [ 1203.034816][ C1] ops_undo_list (net/core/net_namespace.c:205 net/core/net_namespace.c:252) [ 1203.034819][ C1] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4472) [ 1203.034821][ C1] ? netns_install (./include/linux/ns_common.h:26) [ 1203.034823][ C1] ? __lock_release.isra.0 (kernel/locking/lockdep.c:5535) [ 1203.034826][ C1] ? idr_destroy (lib/radix-tree.c:310 lib/radix-tree.c:674 lib/radix-tree.c:1563) [ 1203.034830][ C1] cleanup_net (net/core/net_namespace.c:702) [ 1203.034833][ C1] ? net_passive_dec (./include/linux/llist.h:241) [ 1203.034835][ C1] ? process_one_work (kernel/workqueue.c:3290 (discriminator 2)) [ 1203.034839][ C1] ? lock_acquire (./include/trace/events/lock.h:24 (discriminator 22) kernel/locking/lockdep.c:5831 (discriminator 22)) [ 1203.034841][ C1] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 1203.034844][ C1] process_one_work (kernel/workqueue.c:3314) [ 1203.034849][ C1] ? pwq_dec_nr_in_flight (kernel/workqueue.c:1822 (discriminator 4)) [ 1203.034851][ C1] ? lock_acquire.part.0 (kernel/locking/lockdep.c:5868 (discriminator 1)) [ 1203.034856][ C1] worker_thread (kernel/workqueue.c:3397 kernel/workqueue.c:3478) [ 1203.034861][ C1] ? rescuer_thread (./include/linux/list.h:404 (discriminator 3)) [ 1203.034863][ C1] kthread (kernel/kthread.c:436) [ 1203.034866][ C1] ? trace_irq_enable.constprop.0 (./include/trace/events/preemptirq.h:40 (discriminator 22)) [ 1203.034871][ C1] ? kthread_affine_node (kernel/kthread.c:378) [ 1203.034874][ C1] ret_from_fork (arch/x86/kernel/process.c:158) [ 1203.034878][ C1] ? arch_exit_to_user_mode_prepare.isra.0 (arch/x86/entry/syscall_64.c:37) [ 1203.034881][ C1] ? __switch_to (arch/x86/kernel/process_64.c:403 arch/x86/kernel/process_64.c:663) [ 1203.034885][ C1] ? kthread_affine_node (kernel/kthread.c:378) Finger prints: mark_lock_irq:mark_lock:mark_usage:__lock_acquire:_raw_spin_lock