====================================== | [ 2323.617055][ T69] ================================================================== | [ 2323.617553][ T69] BUG: KASAN: slab-use-after-free in kobject_put (lib/kobject.c:729) | [ 2323.618014][ T69] Read of size 1 at addr ffff888002f09d3c by task kworker/u8:1/69 | [ 2323.618433][ T69] [ 2323.618995][ T69] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 2323.619638][ T69] Workqueue: netns cleanup_net [ 2323.619938][ T69] Call Trace: [ 2323.620125][ T69] [ 2323.620284][ T69] dump_stack_lvl (lib/dump_stack.c:107) [ 2323.620535][ T69] print_address_description.constprop.0 (mm/kasan/report.c:378) [ 2323.620925][ T69] ? kobject_put (lib/kobject.c:729) [ 2323.621178][ T69] print_report (mm/kasan/report.c:489) [ 2323.621458][ T69] ? kasan_addr_to_slab (./arch/x86/include/asm/bitops.h:206 ./arch/x86/include/asm/bitops.h:238 ./include/asm-generic/bitops/instrumented-non-atomic.h:142 ./include/linux/page-flags.h:481 mm/kasan/../slab.h:206 mm/kasan/common.c:38) [ 2323.621776][ T69] kasan_report (mm/kasan/report.c:603) [ 2323.622010][ T69] ? kobject_put (lib/kobject.c:729) [ 2323.622283][ T69] kobject_put (lib/kobject.c:729) [ 2323.622564][ T69] br_sysfs_delbr (net/bridge/br_sysfs_br.c:1086) [ 2323.622854][ T69] br_dev_delete (net/bridge/br_if.c:396) [ 2323.623148][ T69] br_net_exit_batch_rtnl (net/bridge/br.c:369) [ 2323.623470][ T69] cleanup_net (net/core/net_namespace.c:628 (discriminator 2)) [ 2323.623731][ T69] ? __pfx_lock_acquire.part.0 (kernel/locking/lockdep.c:5719) [ 2323.624046][ T69] ? __pfx_cleanup_net (net/core/net_namespace.c:581) [ 2323.624373][ T69] ? lock_acquire (./include/trace/events/lock.h:24 kernel/locking/lockdep.c:5725) [ 2323.624690][ T69] ? process_one_work (kernel/workqueue.c:2609) [ 2323.625009][ T69] process_one_work (kernel/workqueue.c:2638) [ 2323.625300][ T69] ? hlock_class (./arch/x86/include/asm/bitops.h:227 ./arch/x86/include/asm/bitops.h:239 ./include/asm-generic/bitops/instrumented-non-atomic.h:142 kernel/locking/lockdep.c:228) [ 2323.625618][ T69] ? __pfx_process_one_work (kernel/workqueue.c:2542) [ 2323.625950][ T69] ? assign_work (kernel/workqueue.c:1101) [ 2323.626250][ T69] worker_thread (kernel/workqueue.c:2700 kernel/workqueue.c:2787) [ 2323.626559][ T69] ? lockdep_hardirqs_on_prepare.part.0 (kernel/locking/lockdep.c:4300 kernel/locking/lockdep.c:4359) [ 2323.626966][ T69] ? __pfx_worker_thread (kernel/workqueue.c:2733) [ 2323.627325][ T69] ? __pfx_worker_thread (kernel/workqueue.c:2733) [ 2323.627672][ T69] kthread (kernel/kthread.c:388) [ 2323.627945][ T69] ? __pfx_kthread (kernel/kthread.c:341) [ 2323.628235][ T69] ret_from_fork (arch/x86/kernel/process.c:153) [ 2323.628518][ T69] ? __pfx_kthread (kernel/kthread.c:341) [ 2323.628777][ T69] ret_from_fork_asm (arch/x86/entry/entry_64.S:250) | [ 2323.650359][ T69] ------------[ cut here ]------------ | [ 2323.650722][ T69] refcount_t: underflow; use-after-free. | [ 2323.651103][ T69] WARNING: CPU: 1 PID: 69 at lib/refcount.c:28 refcount_warn_saturate (lib/refcount.c:28 (discriminator 3)) | [ 2323.651707][ T69] Modules linked in: xfrm_user psample macsec fou ip6_gre ip_gre gre cls_u32 sch_htb xt_mark sch_ingress act_mirred cls_basic sch_fq_codel nft_compat nf_tables libcrc32c vxlan ip6_udp_tunnel udp_tunnel mpls_iptunnel mpls_router [last unloaded: netdevsim] [ 2323.653829][ T69] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 2323.654675][ T69] Workqueue: netns cleanup_net [ 2323.654987][ T69] RIP: 0010:refcount_warn_saturate (lib/refcount.c:28 (discriminator 3)) [ 2323.655362][ T69] Code: f9 82 03 80 fb 01 0f 87 ee 02 b1 01 83 e3 01 0f 85 4d ff ff ff c6 05 9a f9 82 03 01 90 48 c7 c7 20 7a 22 99 e8 3e 05 2a ff 90 <0f> 0b 90 90 e9 2f ff ff ff 48 89 df e8 8c 68 a6 ff e9 b6 fe ff ff All code ======== 0: f9 stc 1: 82 (bad) 2: 03 80 fb 01 0f 87 add -0x78f0fe05(%rax),%eax 8: ee out %al,(%dx) 9: 02 b1 01 83 e3 01 add 0x1e38301(%rcx),%dh f: 0f 85 4d ff ff ff jne 0xffffffffffffff62 15: c6 05 9a f9 82 03 01 movb $0x1,0x382f99a(%rip) # 0x382f9b6 1c: 90 nop 1d: 48 c7 c7 20 7a 22 99 mov $0xffffffff99227a20,%rdi 24: e8 3e 05 2a ff call 0xffffffffff2a0567 29: 90 nop 2a:* 0f 0b ud2 <-- trapping instruction 2c: 90 nop 2d: 90 nop 2e: e9 2f ff ff ff jmp 0xffffffffffffff62 33: 48 89 df mov %rbx,%rdi 36: e8 8c 68 a6 ff call 0xffffffffffa668c7 3b: e9 b6 fe ff ff jmp 0xfffffffffffffef6 Code starting with the faulting instruction =========================================== 0: 0f 0b ud2 2: 90 nop 3: 90 nop 4: e9 2f ff ff ff jmp 0xffffffffffffff38 9: 48 89 df mov %rbx,%rdi c: e8 8c 68 a6 ff call 0xffffffffffa6689d 11: e9 b6 fe ff ff jmp 0xfffffffffffffecc [ 2323.656517][ T69] RSP: 0018:ffffc900004ffb98 EFLAGS: 00010282 [ 2323.656901][ T69] RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffffffff9651056f [ 2323.657411][ T69] RDX: 0000000000000000 RSI: 0000000000000008 RDI: 0000000000000001 [ 2323.657964][ T69] RBP: 0000000000000003 R08: 0000000000000000 R09: fffff5200009ff18 [ 2323.658384][ T69] R10: ffffc900004ff8c7 R11: 205d393654202020 R12: ffff88802cc7a000 [ 2323.658868][ T69] R13: ffff88802cc7adf8 R14: ffffc900004ffc98 R15: ffff88802cc7abc0 [ 2323.659332][ T69] FS: 0000000000000000(0000) GS:ffff888035600000(0000) knlGS:0000000000000000 [ 2323.659920][ T69] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 2323.660305][ T69] CR2: 00007f6fedc79000 CR3: 000000000bd48005 CR4: 00000000001706f0 [ 2323.660782][ T69] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 2323.661330][ T69] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [ 2323.661815][ T69] Call Trace: [ 2323.662028][ T69] [ 2323.662241][ T69] ? __warn (kernel/panic.c:677) [ 2323.662460][ T69] ? refcount_warn_saturate (lib/refcount.c:28 (discriminator 3)) [ 2323.662756][ T69] ? report_bug (lib/bug.c:201 lib/bug.c:219) [ 2323.663057][ T69] ? vprintk_emit (kernel/printk/printk.c:2313) [ 2323.663351][ T69] ? handle_bug (arch/x86/kernel/traps.c:238) [ 2323.663612][ T69] ? exc_invalid_op (arch/x86/kernel/traps.c:259 (discriminator 1)) [ 2323.663900][ T69] ? asm_exc_invalid_op (./arch/x86/include/asm/idtentry.h:568) [ 2323.664244][ T69] ? desc_read (./arch/x86/include/asm/atomic64_64.h:20 ./include/linux/atomic/atomic-arch-fallback.h:2615 ./include/linux/atomic/atomic-long.h:79 ./include/linux/atomic/atomic-instrumented.h:3196 kernel/printk/printk_ringbuffer.c:534) [ 2323.664524][ T69] ? refcount_warn_saturate (lib/refcount.c:28 (discriminator 3)) [ 2323.664869][ T69] ? refcount_warn_saturate (lib/refcount.c:28 (discriminator 3)) [ 2323.665168][ T69] br_sysfs_delbr (net/bridge/br_sysfs_br.c:1086) [ 2323.665471][ T69] br_dev_delete (net/bridge/br_if.c:396) [ 2323.665774][ T69] br_net_exit_batch_rtnl (net/bridge/br.c:369) [ 2323.666138][ T69] cleanup_net (net/core/net_namespace.c:628 (discriminator 2)) [ 2323.666380][ T69] ? __pfx_lock_acquire.part.0 (kernel/locking/lockdep.c:5719) [ 2323.666741][ T69] ? __pfx_cleanup_net (net/core/net_namespace.c:581) [ 2323.667041][ T69] ? lock_acquire (./include/trace/events/lock.h:24 kernel/locking/lockdep.c:5725) [ 2323.667331][ T69] ? process_one_work (kernel/workqueue.c:2609) [ 2323.667659][ T69] process_one_work (kernel/workqueue.c:2638) [ 2323.668005][ T69] ? hlock_class (./arch/x86/include/asm/bitops.h:227 ./arch/x86/include/asm/bitops.h:239 ./include/asm-generic/bitops/instrumented-non-atomic.h:142 kernel/locking/lockdep.c:228) [ 2323.668271][ T69] ? __pfx_process_one_work (kernel/workqueue.c:2542) [ 2323.668602][ T69] ? assign_work (kernel/workqueue.c:1101) [ 2323.668852][ T69] worker_thread (kernel/workqueue.c:2700 kernel/workqueue.c:2787) [ 2323.669109][ T69] ? lockdep_hardirqs_on_prepare.part.0 (kernel/locking/lockdep.c:4300 kernel/locking/lockdep.c:4359) [ 2323.669524][ T69] ? __pfx_worker_thread (kernel/workqueue.c:2733) [ 2323.669828][ T69] ? __pfx_worker_thread (kernel/workqueue.c:2733) [ 2323.670151][ T69] kthread (kernel/kthread.c:388) [ 2323.670417][ T69] ? __pfx_kthread (kernel/kthread.c:341) [ 2323.670706][ T69] ret_from_fork (arch/x86/kernel/process.c:153) [ 2323.670977][ T69] ? __pfx_kthread (kernel/kthread.c:341) [ 2323.671257][ T69] ret_from_fork_asm (arch/x86/entry/entry_64.S:250) | [ 2323.674357][ T69] ------------[ cut here ]------------ | [ 2323.674645][ T69] sysfs group 'bridge' not found for kobject 'test-br0' | [ 2323.675046][ T69] WARNING: CPU: 1 PID: 69 at fs/sysfs/group.c:282 sysfs_remove_group (fs/sysfs/group.c:282 (discriminator 1)) | [ 2323.675598][ T69] Modules linked in: xfrm_user psample macsec fou ip6_gre ip_gre gre cls_u32 sch_htb xt_mark sch_ingress act_mirred cls_basic sch_fq_codel nft_compat nf_tables libcrc32c vxlan ip6_udp_tunnel udp_tunnel mpls_iptunnel mpls_router [last unloaded: netdevsim] [ 2323.677593][ T69] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 2323.678247][ T69] Workqueue: netns cleanup_net [ 2323.678507][ T69] RIP: 0010:sysfs_remove_group (fs/sysfs/group.c:282 (discriminator 1)) [ 2323.678819][ T69] Code: 89 d9 49 8b 14 24 48 b8 00 00 00 00 00 fc ff df 48 c1 e9 03 80 3c 01 00 75 45 48 8b 33 48 c7 c7 a0 a7 1c 99 e8 60 65 5e ff 90 <0f> 0b 90 90 48 83 c4 08 5b 5d 41 5c c3 cc cc cc cc e8 e9 c7 da ff All code ======== 0: 89 d9 mov %ebx,%ecx 2: 49 8b 14 24 mov (%r12),%rdx 6: 48 b8 00 00 00 00 00 movabs $0xdffffc0000000000,%rax d: fc ff df 10: 48 c1 e9 03 shr $0x3,%rcx 14: 80 3c 01 00 cmpb $0x0,(%rcx,%rax,1) 18: 75 45 jne 0x5f 1a: 48 8b 33 mov (%rbx),%rsi 1d: 48 c7 c7 a0 a7 1c 99 mov $0xffffffff991ca7a0,%rdi 24: e8 60 65 5e ff call 0xffffffffff5e6589 29: 90 nop 2a:* 0f 0b ud2 <-- trapping instruction 2c: 90 nop 2d: 90 nop 2e: 48 83 c4 08 add $0x8,%rsp 32: 5b pop %rbx 33: 5d pop %rbp 34: 41 5c pop %r12 36: c3 ret 37: cc int3 38: cc int3 39: cc int3 3a: cc int3 3b: e8 e9 c7 da ff call 0xffffffffffdac829 Code starting with the faulting instruction =========================================== 0: 0f 0b ud2 2: 90 nop 3: 90 nop 4: 48 83 c4 08 add $0x8,%rsp 8: 5b pop %rbx 9: 5d pop %rbp a: 41 5c pop %r12 c: c3 ret d: cc int3 e: cc int3 f: cc int3 10: cc int3 11: e8 e9 c7 da ff call 0xffffffffffdac7ff [ 2323.680025][ T69] RSP: 0018:ffffc900004ffba0 EFLAGS: 00010282 [ 2323.680360][ T69] RAX: 0000000000000000 RBX: ffffffff995be220 RCX: ffffffff9651056f [ 2323.680781][ T69] RDX: 0000000000000000 RSI: 0000000000000008 RDI: 0000000000000001 [ 2323.681288][ T69] RBP: 0000000000000000 R08: 0000000000000000 R09: fffff5200009ff19 [ 2323.681715][ T69] R10: ffffc900004ff8cf R11: 205d393654202020 R12: ffff88802cc7a628 [ 2323.682142][ T69] R13: ffff88802cc7adf8 R14: ffffc900004ffc98 R15: ffff88802cc7abc0 [ 2323.682567][ T69] FS: 0000000000000000(0000) GS:ffff888035600000(0000) knlGS:0000000000000000 [ 2323.683054][ T69] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 2323.683403][ T69] CR2: 00007f6fedc79000 CR3: 000000000bd48005 CR4: 00000000001706f0 [ 2323.683836][ T69] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 2323.684267][ T69] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [ 2323.684687][ T69] Call Trace: [ 2323.684865][ T69] [ 2323.685030][ T69] ? __warn (kernel/panic.c:677) [ 2323.685253][ T69] ? console_trylock (kernel/printk/printk.c:2659 kernel/printk/printk.c:2654) [ 2323.685514][ T69] ? sysfs_remove_group (fs/sysfs/group.c:282 (discriminator 1)) [ 2323.685793][ T69] ? report_bug (lib/bug.c:201 lib/bug.c:219) [ 2323.686045][ T69] ? handle_bug (arch/x86/kernel/traps.c:238) [ 2323.686281][ T69] ? exc_invalid_op (arch/x86/kernel/traps.c:259 (discriminator 1)) [ 2323.686536][ T69] ? asm_exc_invalid_op (./arch/x86/include/asm/idtentry.h:568) [ 2323.686883][ T69] ? desc_read (./arch/x86/include/asm/atomic64_64.h:20 ./include/linux/atomic/atomic-arch-fallback.h:2615 ./include/linux/atomic/atomic-long.h:79 ./include/linux/atomic/atomic-instrumented.h:3196 kernel/printk/printk_ringbuffer.c:534) [ 2323.687263][ T69] ? sysfs_remove_group (fs/sysfs/group.c:282 (discriminator 1)) [ 2323.687561][ T69] br_dev_delete (net/bridge/br_if.c:396) [ 2323.687841][ T69] br_net_exit_batch_rtnl (net/bridge/br.c:369) [ 2323.688161][ T69] cleanup_net (net/core/net_namespace.c:628 (discriminator 2)) [ 2323.688432][ T69] ? __pfx_lock_acquire.part.0 (kernel/locking/lockdep.c:5719) [ 2323.688791][ T69] ? __pfx_cleanup_net (net/core/net_namespace.c:581) [ 2323.689085][ T69] ? lock_acquire (./include/trace/events/lock.h:24 kernel/locking/lockdep.c:5725) [ 2323.689358][ T69] ? process_one_work (kernel/workqueue.c:2609) [ 2323.689702][ T69] process_one_work (kernel/workqueue.c:2638) [ 2323.689992][ T69] ? hlock_class (./arch/x86/include/asm/bitops.h:227 ./arch/x86/include/asm/bitops.h:239 ./include/asm-generic/bitops/instrumented-non-atomic.h:142 kernel/locking/lockdep.c:228) [ 2323.690267][ T69] ? __pfx_process_one_work (kernel/workqueue.c:2542) [ 2323.690554][ T69] ? assign_work (kernel/workqueue.c:1101) [ 2323.690798][ T69] worker_thread (kernel/workqueue.c:2700 kernel/workqueue.c:2787) [ 2323.691059][ T69] ? lockdep_hardirqs_on_prepare.part.0 (kernel/locking/lockdep.c:4300 kernel/locking/lockdep.c:4359) [ 2323.691409][ T69] ? __pfx_worker_thread (kernel/workqueue.c:2733) [ 2323.691685][ T69] ? __pfx_worker_thread (kernel/workqueue.c:2733) [ 2323.691964][ T69] kthread (kernel/kthread.c:388) [ 2323.692187][ T69] ? __pfx_kthread (kernel/kthread.c:341) [ 2323.692435][ T69] ret_from_fork (arch/x86/kernel/process.c:153) [ 2323.692676][ T69] ? __pfx_kthread (kernel/kthread.c:341) Finger prints: dump_stack_lvl:print_report:kasan_report:kobject_put refcount_warn_saturate:br_sysfs_delbr:br_dev_delete:br_net_exit_batch_rtnl sysfs_remove_group:br_dev_delete:br_net_exit_batch_rtnl:cleanup_net