====================================== | xx__-> [ 36.062058][ T12] ================================================================== | [ 36.062357][ T12] BUG: KASAN: slab-use-after-free in kobject_put (lib/kobject.c:733) | [ 36.062609][ T12] Read of size 1 at addr ffff888007f896ac by task kworker/u16:0/12 | [ 36.062846][ T12] [ 36.062936][ T12] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 36.062938][ T12] Workqueue: netns cleanup_net [ 36.062944][ T12] Call Trace: [ 36.062946][ T12] [ 36.062949][ T12] dump_stack_lvl (lib/dump_stack.c:123) [ 36.062954][ T12] print_address_description.constprop.0 (mm/kasan/report.c:379) [ 36.062961][ T12] ? kobject_put (lib/kobject.c:733) [ 36.062965][ T12] print_report (mm/kasan/report.c:483) [ 36.062969][ T12] ? kobject_put (lib/kobject.c:733) [ 36.062972][ T12] ? kasan_addr_to_slab (./include/linux/mm.h:1245 mm/kasan/../slab.h:191 mm/kasan/common.c:47) [ 36.062975][ T12] ? kobject_put (lib/kobject.c:733) [ 36.062978][ T12] kasan_report (mm/kasan/report.c:597) [ 36.062983][ T12] ? kobject_put (lib/kobject.c:733) [ 36.062989][ T12] kobject_put (lib/kobject.c:733) [ 36.062992][ T12] netdev_run_todo (./include/linux/list.h:381 net/core/dev.c:11670) [ 36.062997][ T12] ? irqentry_exit (kernel/entry/common.c:215) [ 36.063001][ T12] ? dev_ingress_queue_create (net/core/dev.c:12299) [ 36.063005][ T12] ? generic_xdp_install (net/core/dev.c:11630) [ 36.063012][ T12] ops_undo_list (net/core/net_namespace.c:190 net/core/net_namespace.c:248) [ 36.063019][ T12] ? netns_get (net/core/net_namespace.c:223) [ 36.063022][ T12] ? cleanup_net (./include/linux/list.h:191 net/core/net_namespace.c:693) [ 36.063027][ T12] cleanup_net (net/core/net_namespace.c:698) [ 36.063030][ T12] ? net_passive_dec (net/core/net_namespace.c:660) [ 36.063034][ T12] ? rcu_is_watching (./include/linux/context_tracking.h:128 kernel/rcu/tree.c:751) [ 36.063040][ T12] process_one_work (kernel/workqueue.c:3268) [ 36.063048][ T12] ? pwq_dec_nr_in_flight (kernel/workqueue.c:3165) [ 36.063053][ T12] ? assign_work (kernel/workqueue.c:1206) [ 36.063057][ T12] worker_thread (kernel/workqueue.c:3340 kernel/workqueue.c:3427) [ 36.063063][ T12] ? rescuer_thread (kernel/workqueue.c:3373) [ 36.063066][ T12] kthread (kernel/kthread.c:463) [ 36.063070][ T12] ? kthread_is_per_cpu (kernel/kthread.c:412) [ 36.063074][ T12] ? ret_from_fork (arch/x86/kernel/process.c:157) [ 36.063082][ T12] ? __lock_release (kernel/locking/lockdep.c:5536) [ 36.063090][ T12] ? rcu_is_watching (./include/linux/context_tracking.h:128 kernel/rcu/tree.c:751) [ 36.063093][ T12] ? kthread_is_per_cpu (kernel/kthread.c:412) [ 36.063096][ T12] ret_from_fork (arch/x86/kernel/process.c:164) [ 36.063099][ T12] ? kthread_is_per_cpu (kernel/kthread.c:412) [ 36.063102][ T12] ret_from_fork_asm (arch/x86/entry/entry_64.S:255) | [ 36.081633][ T12] refcount_t: underflow; use-after-free. | [ 36.081808][ T12] WARNING: CPU: 3 PID: 12 at lib/refcount.c:28 refcount_warn_saturate (lib/refcount.c:28 (discriminator 3)) | [ 36.082161][ T12] Modules linked in: nft_masq nft_chain_nat nf_nat nft_ct nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 nf_tables veth | [ 36.082903][ T12] Tainted: [B]=BAD_PAGE [ 36.083095][ T12] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 36.083301][ T12] Workqueue: netns cleanup_net [ 36.083476][ T12] RIP: 0010:refcount_warn_saturate (lib/refcount.c:28 (discriminator 3)) [ 36.083688][ T12] Code: 83 90 02 80 fb 01 0f 87 95 6b d6 fe 83 e3 01 0f 85 51 ff ff ff c6 05 b1 83 90 02 01 90 48 c7 c7 a0 de 25 bb e8 c2 8b 15 ff 90 <0f> 0b 90 90 e9 33 ff ff ff 48 89 df e8 f0 34 a1 ff e9 ba fe ff ff All code ======== 0: 83 90 02 80 fb 01 0f adcl $0xf,0x1fb8002(%rax) 7: 87 95 6b d6 fe 83 xchg %edx,-0x7c012995(%rbp) d: e3 01 jrcxz 0x10 f: 0f 85 51 ff ff ff jne 0xffffffffffffff66 15: c6 05 b1 83 90 02 01 movb $0x1,0x29083b1(%rip) # 0x29083cd 1c: 90 nop 1d: 48 c7 c7 a0 de 25 bb mov $0xffffffffbb25dea0,%rdi 24: e8 c2 8b 15 ff call 0xffffffffff158beb 29: 90 nop 2a:* 0f 0b ud2 <-- trapping instruction 2c: 90 nop 2d: 90 nop 2e: e9 33 ff ff ff jmp 0xffffffffffffff66 33: 48 89 df mov %rbx,%rdi 36: e8 f0 34 a1 ff call 0xffffffffffa1352b 3b: e9 ba fe ff ff jmp 0xfffffffffffffefa Code starting with the faulting instruction =========================================== 0: 0f 0b ud2 2: 90 nop 3: 90 nop 4: e9 33 ff ff ff jmp 0xffffffffffffff3c 9: 48 89 df mov %rbx,%rdi c: e8 f0 34 a1 ff call 0xffffffffffa13501 11: e9 ba fe ff ff jmp 0xfffffffffffffed0 [ 36.084318][ T12] RSP: 0018:ffffc900000c7a08 EFLAGS: 00010282 [ 36.084531][ T12] RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000 [ 36.084768][ T12] RDX: 0000000000000002 RSI: 0000000000000004 RDI: 0000000000000001 [ 36.085082][ T12] RBP: 0000000000000003 R08: 0000000000000000 R09: fffffbfff777e220 [ 36.085327][ T12] R10: 0000000000000003 R11: ffffc900000c7580 R12: 0000000000000001 [ 36.085574][ T12] R13: dffffc0000000000 R14: dead000000000122 R15: dead000000000100 [ 36.085839][ T12] FS: 0000000000000000(0000) GS:ffff88807936c000(0000) knlGS:0000000000000000 [ 36.086195][ T12] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 36.086407][ T12] CR2: 00007f7a8832b000 CR3: 000000000d735001 CR4: 0000000000772ef0 [ 36.086648][ T12] PKRU: 55555554 [ 36.086773][ T12] Call Trace: [ 36.086895][ T12] [ 36.087049][ T12] netdev_run_todo (./include/linux/list.h:381 net/core/dev.c:11670) [ 36.087235][ T12] ? irqentry_exit (kernel/entry/common.c:215) [ 36.087418][ T12] ? dev_ingress_queue_create (net/core/dev.c:12299) [ 36.087578][ T12] ? generic_xdp_install (net/core/dev.c:11630) [ 36.087739][ T12] ops_undo_list (net/core/net_namespace.c:190 net/core/net_namespace.c:248) [ 36.087905][ T12] ? netns_get (net/core/net_namespace.c:223) [ 36.088134][ T12] ? cleanup_net (./include/linux/list.h:191 net/core/net_namespace.c:693) [ 36.088300][ T12] cleanup_net (net/core/net_namespace.c:698) [ 36.088468][ T12] ? net_passive_dec (net/core/net_namespace.c:660) [ 36.088631][ T12] ? rcu_is_watching (./include/linux/context_tracking.h:128 kernel/rcu/tree.c:751) [ 36.088791][ T12] process_one_work (kernel/workqueue.c:3268) [ 36.089006][ T12] ? pwq_dec_nr_in_flight (kernel/workqueue.c:3165) [ 36.089172][ T12] ? assign_work (kernel/workqueue.c:1206) [ 36.089327][ T12] worker_thread (kernel/workqueue.c:3340 kernel/workqueue.c:3427) [ 36.089503][ T12] ? rescuer_thread (kernel/workqueue.c:3373) [ 36.089665][ T12] kthread (kernel/kthread.c:463) [ 36.089782][ T12] ? kthread_is_per_cpu (kernel/kthread.c:412) [ 36.089955][ T12] ? ret_from_fork (arch/x86/kernel/process.c:157) [ 36.090125][ T12] ? __lock_release (kernel/locking/lockdep.c:5536) [ 36.090281][ T12] ? rcu_is_watching (./include/linux/context_tracking.h:128 kernel/rcu/tree.c:751) [ 36.090444][ T12] ? kthread_is_per_cpu (kernel/kthread.c:412) [ 36.090602][ T12] ret_from_fork (arch/x86/kernel/process.c:164) [ 36.090762][ T12] ? kthread_is_per_cpu (kernel/kthread.c:412) Finger prints: print_report:kasan_report:kobject_put:netdev_run_todo:ops_undo_list refcount_warn_saturate:netdev_run_todo:ops_undo_list:cleanup_net:process_one_work