------------[ cut here ]------------ refcount_t: decrement hit 0; leaking memory. WARNING: CPU: 0 PID: 11556 at lib/refcount.c:31 refcount_warn_saturate+0xbf/0x1e0 lib/refcount.c:31 Modules linked in: CPU: 0 PID: 11556 Comm: kworker/u4:7 Not tainted 5.15.0-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Workqueue: netns cleanup_net RIP: 0010:refcount_warn_saturate+0xbf/0x1e0 lib/refcount.c:31 Code: 1d 29 14 82 09 31 ff 89 de e8 ad ae 9e fd 84 db 75 e0 e8 64 a8 9e fd 48 c7 c7 20 2a e4 89 c6 05 09 14 82 09 01 e8 c1 55 1b 05 <0f> 0b eb c4 e8 48 a8 9e fd 0f b6 1d f8 13 82 09 31 ff 89 de e8 78 RSP: 0018:ffffc90000007df0 EFLAGS: 00010282 RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000 RDX: ffff88802f88ba00 RSI: ffffffff815ef908 RDI: fffff52000000fb0 RBP: 0000000000000004 R08: 0000000000000000 R09: 0000000000000000 R10: ffffffff815e96ee R11: 0000000000000000 R12: 0000000000000001 R13: ffff888070f785b0 R14: 0000000000000005 R15: ffff888071e335e8 FS: 0000000000000000(0000) GS:ffff8880b9c00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007ff7ec86b000 CR3: 000000001b8fa000 CR4: 00000000003506f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: __refcount_dec include/linux/refcount.h:344 [inline] refcount_dec include/linux/refcount.h:359 [inline] dev_put include/linux/netdevice.h:4166 [inline] in_dev_finish_destroy+0x160/0x1b0 net/ipv4/devinet.c:246 in_dev_put include/linux/inetdevice.h:276 [inline] in_dev_rcu_put+0x83/0xb0 net/ipv4/devinet.c:303 rcu_do_batch kernel/rcu/tree.c:2506 [inline] rcu_core+0x7ab/0x1470 kernel/rcu/tree.c:2741 __do_softirq+0x29b/0x9c2 kernel/softirq.c:558 invoke_softirq kernel/softirq.c:432 [inline] __irq_exit_rcu+0x123/0x180 kernel/softirq.c:636 irq_exit_rcu+0x5/0x20 kernel/softirq.c:648 sysvec_apic_timer_interrupt+0x93/0xc0 arch/x86/kernel/apic/apic.c:1097 asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:638 RIP: 0010:batadv_hardif_get_by_netdev+0xfb/0x400 net/batman-adv/hard-interface.c:69 Code: 00 00 4c 8b 25 26 e7 91 07 48 8d 44 24 30 48 bb 00 00 00 00 00 fc ff df 48 89 04 24 49 81 fc 20 5d 64 90 75 2c e9 c2 01 00 00 70 fc a4 f8 4c 89 e0 48 c1 e8 03 80 3c 18 00 0f 85 b3 02 00 00 RSP: 0018:ffffc9000b8b7888 EFLAGS: 00000206 RAX: 1ffff1100f82dc03 RBX: dffffc0000000000 RCX: 0000000000000000 RDX: ffff88802f88ba00 RSI: ffffffff88d27647 RDI: ffff88807c16e018 RBP: ffff888026c48000 R08: 0000000000000000 R09: 0000000000000001 R10: ffffffff88d275c6 R11: 0000000000000000 R12: ffff88807c16e000 R13: ffff888026c48000 R14: 0000000000000000 R15: ffffffff8d531920 batadv_hard_if_event+0x90/0x1640 net/batman-adv/hard-interface.c:932 notifier_call_chain+0xb5/0x200 kernel/notifier.c:83 call_netdevice_notifiers_info+0xb5/0x130 net/core/dev.c:2002 call_netdevice_notifiers_extack net/core/dev.c:2014 [inline] call_netdevice_notifiers net/core/dev.c:2028 [inline] unregister_netdevice_many+0x94f/0x1790 net/core/dev.c:11074 default_device_exit_batch+0x2fa/0x3c0 net/core/dev.c:11604 ops_exit_list+0x10d/0x160 net/core/net_namespace.c:171 cleanup_net+0x4ea/0xb00 net/core/net_namespace.c:593 process_one_work+0x9b2/0x1690 kernel/workqueue.c:2297 worker_thread+0x658/0x11f0 kernel/workqueue.c:2444 kthread+0x405/0x4f0 kernel/kthread.c:327 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295 ---------------- Code disassembly (best guess): 0: 00 00 add %al,(%rax) 2: 4c 8b 25 26 e7 91 07 mov 0x791e726(%rip),%r12 # 0x791e72f 9: 48 8d 44 24 30 lea 0x30(%rsp),%rax e: 48 bb 00 00 00 00 00 movabs $0xdffffc0000000000,%rbx 15: fc ff df 18: 48 89 04 24 mov %rax,(%rsp) 1c: 49 81 fc 20 5d 64 90 cmp $0xffffffff90645d20,%r12 23: 75 2c jne 0x51 25: e9 c2 01 00 00 jmpq 0x1ec * 2a: e8 70 fc a4 f8 callq 0xf8a4fc9f <-- trapping instruction 2f: 4c 89 e0 mov %r12,%rax 32: 48 c1 e8 03 shr $0x3,%rax 36: 80 3c 18 00 cmpb $0x0,(%rax,%rbx,1) 3a: 0f 85 b3 02 00 00 jne 0x2f3