------------[ 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