------------[ 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#0: kworker/u8:5/93 Modules linked in: CPU: 0 UID: 0 PID: 93 Comm: kworker/u8:5 Not tainted syzkaller #0 PREEMPT(full) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2026 Workqueue: events_unbound linkwatch_event RIP: 0010:refcount_warn_saturate+0x7c/0x130 lib/refcount.c:31 Code: c0 51 1a 8c e8 25 17 12 fd 83 fd 02 0f 84 a1 00 00 00 76 27 83 fd 03 74 7d 83 fd 04 75 3e e8 fb 1b 12 fd 48 8d 3d b4 57 ed 0b <67> 48 0f b9 3a e8 ea 1b 12 fd 5b 5d c3 cc cc cc cc 85 ed 74 3a e8 RSP: 0018:ffffc9000215f878 EFLAGS: 00010293 RAX: 0000000000000000 RBX: ffff88802a98c664 RCX: ffffffff84f6dbcb RDX: ffff88801e7924c0 RSI: ffffffff84f6dbe5 RDI: ffffffff90e433a0 RBP: 0000000000000004 R08: 0000000000000005 R09: 0000000000000004 R10: 0000000000000004 R11: 0000000000000000 R12: 1ffff9200042bf14 R13: ffff88802a98c664 R14: 0000000000000000 R15: 0000000000000000 FS: 0000000000000000(0000) GS:ffff88812433c000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000001b2ff15ff8 CR3: 000000003954a000 CR4: 00000000003526f0 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:4456 [inline] netdev_put include/linux/netdevice.h:4473 [inline] netdev_put include/linux/netdevice.h:4469 [inline] netdev_watchdog_down net/sched/sch_generic.c:575 [inline] dev_deactivate_many+0x28f/0xfc0 net/sched/sch_generic.c:1337 dev_deactivate+0xf8/0x1c0 net/sched/sch_generic.c:1368 linkwatch_do_dev net/core/link_watch.c:184 [inline] linkwatch_do_dev+0xce/0x110 net/core/link_watch.c:166 __linkwatch_run_queue+0x3a9/0x900 net/core/link_watch.c:240 linkwatch_event+0x8f/0xc0 net/core/link_watch.c:314 process_one_work+0xa23/0x19a0 kernel/workqueue.c:3276 process_scheduled_works kernel/workqueue.c:3359 [inline] worker_thread+0x5ef/0xe50 kernel/workqueue.c:3440 kthread+0x370/0x450 kernel/kthread.c:436 ret_from_fork+0x754/0xd80 arch/x86/kernel/process.c:158 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 ---------------- Code disassembly (best guess): 0: c0 51 1a 8c rclb $0x8c,0x1a(%rcx) 4: e8 25 17 12 fd call 0xfd12172e 9: 83 fd 02 cmp $0x2,%ebp c: 0f 84 a1 00 00 00 je 0xb3 12: 76 27 jbe 0x3b 14: 83 fd 03 cmp $0x3,%ebp 17: 74 7d je 0x96 19: 83 fd 04 cmp $0x4,%ebp 1c: 75 3e jne 0x5c 1e: e8 fb 1b 12 fd call 0xfd121c1e 23: 48 8d 3d b4 57 ed 0b lea 0xbed57b4(%rip),%rdi # 0xbed57de * 2a: 67 48 0f b9 3a ud1 (%edx),%rdi <-- trapping instruction 2f: e8 ea 1b 12 fd call 0xfd121c1e 34: 5b pop %rbx 35: 5d pop %rbp 36: c3 ret 37: cc int3 38: cc int3 39: cc int3 3a: cc int3 3b: 85 ed test %ebp,%ebp 3d: 74 3a je 0x79 3f: e8 .byte 0xe8