------------[ cut here ]------------ refcount_t: decrement hit 0; leaking memory. WARNING: lib/refcount.c:31 at refcount_warn_saturate+0x7c/0x130 lib/refcount.c:31, CPU#1: kworker/u8:1/32 Modules linked in: CPU: 1 UID: 0 PID: 32 Comm: kworker/u8:1 Not tainted syzkaller #0 PREEMPT(full) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/18/2026 Workqueue: events_unbound linkwatch_event RIP: 0010:refcount_warn_saturate+0x7c/0x130 lib/refcount.c:31 Code: 60 1d b0 87 e8 e5 b0 e2 fe 83 fd 02 0f 84 a1 00 00 00 76 27 83 fd 03 74 7d 83 fd 04 75 3e e8 bb b5 e2 fe 48 8d 3d b4 24 25 08 <67> 48 0f b9 3a e8 aa b5 e2 fe 5b 5d e9 03 53 a0 04 85 ed 74 3a e8 RSP: 0018:ffffc90000227878 EFLAGS: 00010293 RAX: 0000000000000000 RBX: ffff88811cfe465c RCX: ffffffff82d00cab RDX: ffff8881036abb80 RSI: ffffffff82d00cc5 RDI: ffffffff8af53180 RBP: 0000000000000004 R08: 0000000000000005 R09: 0000000000000004 R10: 0000000000000004 R11: 0000000000000000 R12: 1ffff92000044f14 R13: ffff88811cfe465c R14: 0000000000000000 R15: 0000000000000000 FS: 0000000000000000(0000) GS:ffff8882687a8000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000001b2ee1cff8 CR3: 0000000114ac6000 CR4: 00000000003506f0 Call Trace: __refcount_dec include/linux/refcount.h:461 [inline] refcount_dec include/linux/refcount.h:476 [inline] ref_tracker_free+0x5cd/0x6c0 lib/ref_tracker.c:303 netdev_tracker_free include/linux/netdevice.h:4491 [inline] netdev_put include/linux/netdevice.h:4508 [inline] netdev_put include/linux/netdevice.h:4504 [inline] netdev_watchdog_down net/sched/sch_generic.c:600 [inline] dev_deactivate_many+0x28c/0xfe0 net/sched/sch_generic.c:1363 dev_deactivate+0x109/0x1d0 net/sched/sch_generic.c:1397 linkwatch_do_dev net/core/link_watch.c:184 [inline] linkwatch_do_dev+0xd3/0x120 net/core/link_watch.c:166 __linkwatch_run_queue+0x3a5/0x810 net/core/link_watch.c:240 linkwatch_event+0x8f/0xc0 net/core/link_watch.c:314 process_one_work+0xa0e/0x1980 kernel/workqueue.c:3302 process_scheduled_works kernel/workqueue.c:3385 [inline] worker_thread+0x5ef/0xe50 kernel/workqueue.c:3466 kthread+0x370/0x450 kernel/kthread.c:436 ret_from_fork+0x69a/0xc80 arch/x86/kernel/process.c:158 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 ---------------- Code disassembly (best guess), 1 bytes skipped: 0: 1d b0 87 e8 e5 sbb $0xe5e887b0,%eax 5: b0 e2 mov $0xe2,%al 7: fe 83 fd 02 0f 84 incb -0x7bf0fd03(%rbx) d: a1 00 00 00 76 27 83 movabs 0x3fd832776000000,%eax 14: fd 03 16: 74 7d je 0x95 18: 83 fd 04 cmp $0x4,%ebp 1b: 75 3e jne 0x5b 1d: e8 bb b5 e2 fe call 0xfee2b5dd 22: 48 8d 3d b4 24 25 08 lea 0x82524b4(%rip),%rdi # 0x82524dd * 29: 67 48 0f b9 3a ud1 (%edx),%rdi <-- trapping instruction 2e: e8 aa b5 e2 fe call 0xfee2b5dd 33: 5b pop %rbx 34: 5d pop %rbp 35: e9 03 53 a0 04 jmp 0x4a0533d 3a: 85 ed test %ebp,%ebp 3c: 74 3a je 0x78 3e: e8 .byte 0xe8