====================================== | [ 234.022992][ T73] ================================================================== | [ 234.023456][ T73] BUG: KASAN: slab-use-after-free in kobject_put (lib/kobject.c:733) | [ 234.023881][ T73] Read of size 1 at addr ffff888005e1169c by task kworker/u16:1/73 | [ 234.024283][ T73] [ 234.024432][ T73] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 234.024437][ T73] Workqueue: netns cleanup_net [ 234.024451][ T73] Call Trace: [ 234.024454][ T73] [ 234.024460][ T73] dump_stack_lvl (lib/dump_stack.c:123) [ 234.024470][ T73] print_address_description.constprop.0 (mm/kasan/report.c:379) [ 234.024480][ T73] ? kobject_put (lib/kobject.c:733) [ 234.024486][ T73] print_report (mm/kasan/report.c:483) [ 234.024490][ T73] ? kobject_put (lib/kobject.c:733) [ 234.024493][ T73] ? kasan_addr_to_slab (./include/linux/mm.h:1245 mm/kasan/../slab.h:191 mm/kasan/common.c:47) [ 234.024498][ T73] ? kobject_put (lib/kobject.c:733) [ 234.024501][ T73] kasan_report (mm/kasan/report.c:597) [ 234.024507][ T73] ? kobject_put (lib/kobject.c:733) [ 234.024515][ T73] kobject_put (lib/kobject.c:733) [ 234.024520][ T73] netdev_run_todo (./include/linux/list.h:381 net/core/dev.c:11670) [ 234.024528][ T73] ? dev_ingress_queue_create (net/core/dev.c:12299) [ 234.024533][ T73] ? unregister_netdevice_many (net/core/dev.c:12241) [ 234.024538][ T73] ? generic_xdp_install (net/core/dev.c:11630) [ 234.024542][ T73] ? __lock_release (kernel/locking/lockdep.c:5536) [ 234.024566][ T73] ops_undo_list (net/core/net_namespace.c:190 net/core/net_namespace.c:248) [ 234.024574][ T73] ? netns_get (net/core/net_namespace.c:223) [ 234.024579][ T73] ? cleanup_net (./include/linux/list.h:191 net/core/net_namespace.c:693) [ 234.024588][ T73] cleanup_net (net/core/net_namespace.c:698) [ 234.024594][ T73] ? net_passive_dec (net/core/net_namespace.c:660) [ 234.024601][ T73] ? rcu_is_watching (./include/linux/context_tracking.h:128 kernel/rcu/tree.c:751) [ 234.024611][ T73] process_one_work (kernel/workqueue.c:3268) [ 234.024624][ T73] ? pwq_dec_nr_in_flight (kernel/workqueue.c:3165) [ 234.024633][ T73] ? assign_work (kernel/workqueue.c:1206) [ 234.024639][ T73] worker_thread (kernel/workqueue.c:3340 kernel/workqueue.c:3427) [ 234.024648][ T73] ? rescuer_thread (kernel/workqueue.c:3373) [ 234.024654][ T73] kthread (kernel/kthread.c:463) [ 234.024660][ T73] ? kthread_is_per_cpu (kernel/kthread.c:412) [ 234.024664][ T73] ? ret_from_fork (arch/x86/kernel/process.c:157) [ 234.024673][ T73] ? __lock_release (kernel/locking/lockdep.c:5536) [ 234.024679][ T73] ? rcu_is_watching (./include/linux/context_tracking.h:128 kernel/rcu/tree.c:751) [ 234.024683][ T73] ? kthread_is_per_cpu (kernel/kthread.c:412) [ 234.024689][ T73] ret_from_fork (arch/x86/kernel/process.c:164) [ 234.024694][ T73] ? kthread_is_per_cpu (kernel/kthread.c:412) [ 234.024699][ T73] ret_from_fork_asm (arch/x86/entry/entry_64.S:255) | [ 234.054474][ T73] refcount_t: underflow; use-after-free. | [ 234.054795][ T73] WARNING: CPU: 3 PID: 73 at lib/refcount.c:28 refcount_warn_saturate (lib/refcount.c:28 (discriminator 3)) | [ 234.055308][ T73] Modules linked in: cls_matchall | [ 234.056245][ T73] Tainted: [B]=BAD_PAGE [ 234.056497][ T73] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 234.056868][ T73] Workqueue: netns cleanup_net [ 234.057188][ T73] RIP: 0010:refcount_warn_saturate (lib/refcount.c:28 (discriminator 3)) [ 234.057547][ T73] Code: a2 b5 02 80 fb 01 0f 87 db 6e d8 fe 83 e3 01 0f 85 51 ff ff ff c6 05 c2 a2 b5 02 01 90 48 c7 c7 60 a8 05 9d e8 72 c3 17 ff 90 <0f> 0b 90 90 e9 33 ff ff ff 48 89 df e8 20 69 a0 ff e9 ba fe ff ff All code ======== 0: a2 b5 02 80 fb 01 0f movabs %al,0xdb870f01fb8002b5 7: 87 db 9: 6e outsb %ds:(%rsi),(%dx) a: d8 fe fdivr %st(6),%st c: 83 e3 01 and $0x1,%ebx f: 0f 85 51 ff ff ff jne 0xffffffffffffff66 15: c6 05 c2 a2 b5 02 01 movb $0x1,0x2b5a2c2(%rip) # 0x2b5a2de 1c: 90 nop 1d: 48 c7 c7 60 a8 05 9d mov $0xffffffff9d05a860,%rdi 24: e8 72 c3 17 ff call 0xffffffffff17c39b 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 20 69 a0 ff call 0xffffffffffa0695b 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 20 69 a0 ff call 0xffffffffffa06931 11: e9 ba fe ff ff jmp 0xfffffffffffffed0 [ 234.058510][ T73] RSP: 0018:ffffc900004e7a08 EFLAGS: 00010282 [ 234.058872][ T73] RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000 [ 234.059291][ T73] RDX: 0000000000000002 RSI: 0000000000000004 RDI: 0000000000000001 [ 234.059704][ T73] RBP: 0000000000000003 R08: 0000000000000000 R09: fffffbfff3b3e134 [ 234.060116][ T73] R10: 0000000000000003 R11: ffffc900004e7580 R12: 0000000000000001 [ 234.060539][ T73] R13: dffffc0000000000 R14: dead000000000122 R15: dead000000000100 [ 234.060965][ T73] FS: 0000000000000000(0000) GS:ffff888097501000(0000) knlGS:0000000000000000 [ 234.061427][ T73] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 234.061784][ T73] CR2: 00007ffe0f05b558 CR3: 000000000c0be001 CR4: 0000000000772ef0 [ 234.062203][ T73] PKRU: 55555554 [ 234.062419][ T73] Call Trace: [ 234.062657][ T73] [ 234.062805][ T73] netdev_run_todo (./include/linux/list.h:381 net/core/dev.c:11670) [ 234.063083][ T73] ? dev_ingress_queue_create (net/core/dev.c:12299) [ 234.063348][ T73] ? unregister_netdevice_many (net/core/dev.c:12241) [ 234.063618][ T73] ? generic_xdp_install (net/core/dev.c:11630) [ 234.063854][ T73] ? __lock_release (kernel/locking/lockdep.c:5536) [ 234.064117][ T73] ops_undo_list (net/core/net_namespace.c:190 net/core/net_namespace.c:248) [ 234.064362][ T73] ? netns_get (net/core/net_namespace.c:223) [ 234.064661][ T73] ? cleanup_net (./include/linux/list.h:191 net/core/net_namespace.c:693) [ 234.064938][ T73] cleanup_net (net/core/net_namespace.c:698) [ 234.065221][ T73] ? net_passive_dec (net/core/net_namespace.c:660) [ 234.065495][ T73] ? rcu_is_watching (./include/linux/context_tracking.h:128 kernel/rcu/tree.c:751) [ 234.065781][ T73] process_one_work (kernel/workqueue.c:3268) [ 234.066063][ T73] ? pwq_dec_nr_in_flight (kernel/workqueue.c:3165) [ 234.066336][ T73] ? assign_work (kernel/workqueue.c:1206) [ 234.066613][ T73] worker_thread (kernel/workqueue.c:3340 kernel/workqueue.c:3427) [ 234.066903][ T73] ? rescuer_thread (kernel/workqueue.c:3373) [ 234.067166][ T73] kthread (kernel/kthread.c:463) [ 234.067371][ T73] ? kthread_is_per_cpu (kernel/kthread.c:412) [ 234.067653][ T73] ? ret_from_fork (arch/x86/kernel/process.c:157) [ 234.067916][ T73] ? __lock_release (kernel/locking/lockdep.c:5536) [ 234.068188][ T73] ? rcu_is_watching (./include/linux/context_tracking.h:128 kernel/rcu/tree.c:751) [ 234.068449][ T73] ? kthread_is_per_cpu (kernel/kthread.c:412) [ 234.068732][ T73] ret_from_fork (arch/x86/kernel/process.c:164) [ 234.069024][ T73] ? kthread_is_per_cpu (kernel/kthread.c:412) Finger prints: refcount_warn_saturate:netdev_run_todo:ops_undo_list:cleanup_net:process_one_work print_report:kasan_report:kobject_put:netdev_run_todo:ops_undo_list