------------[ cut here ]------------
refcount_t: saturated; leaking memory.
WARNING: lib/refcount.c:19 at 0x0, CPU#0: syz.2.19/6053
Modules linked in:
CPU: 0 UID: 0 PID: 6053 Comm: syz.2.19 Not tainted syzkaller #0 PREEMPT(full)
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/25/2025
RIP: 0010:refcount_warn_saturate+0xc5/0x110 lib/refcount.c:19
Code: 91 0e 33 0b 67 48 0f b9 3a eb 37 e8 95 1c 2b fd 48 8d 3d 8e 0e 33 0b 67 48 0f b9 3a eb 24 e8 82 1c 2b fd 48 8d 3d 8b 0e 33 0b <67> 48 0f b9 3a eb 11 e8 6f 1c 2b fd 48 8d 3d 88 0e 33 0b 67 48 0f
RSP: 0018:ffffc9000257f568 EFLAGS: 00010293
RAX: ffffffff8496c3fe RBX: 0000000000000000 RCX: ffff888033c41e80
RDX: 0000000000000000 RSI: ffffffff8ea87240 RDI: ffffffff8fc9d290
RBP: ffffc9000257f690 R08: ffff888033c41e80 R09: 0000000000000005
R10: 0000000000000004 R11: 0000000000000000 R12: ffff888078f791c0
R13: ffff888078f79140 R14: ffff888078f791c0 R15: 0000000000000000
FS: 00007f327bfda6c0(0000) GS:ffff888125a41000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f5790cc1f98 CR3: 000000007f8fe000 CR4: 00000000003526f0
Call Trace:
<TASK>
__refcount_add_not_zero include/linux/refcount.h:187 [inline]
refcount_add_not_zero include/linux/refcount.h:212 [inline]
__vma_enter_locked+0x62e/0x6a0 mm/mmap_lock.c:69
__vma_start_write+0x23/0x140 mm/mmap_lock.c:96
vma_start_write include/linux/mmap_lock.h:213 [inline]
vma_merge_existing_range mm/vma.c:900 [inline]
vma_modify+0xf62/0x1a70 mm/vma.c:1611
vma_modify_flags_uffd+0x204/0x250 mm/vma.c:1704
userfaultfd_clear_vma mm/userfaultfd.c:1995 [inline]
userfaultfd_release_all+0x34c/0x5d0 mm/userfaultfd.c:2114
userfaultfd_release+0xe7/0x1b0 fs/userfaultfd.c:887
__fput+0x44c/0xa70 fs/file_table.c:468
task_work_run+0x1d4/0x260 kernel/task_work.c:233
get_signal+0x11ec/0x1340 kernel/signal.c:2807
arch_do_signal_or_restart+0x9a/0x7a0 arch/x86/kernel/signal.c:337
__exit_to_user_mode_loop kernel/entry/common.c:41 [inline]
exit_to_user_mode_loop+0x87/0x4f0 kernel/entry/common.c:75
__exit_to_user_mode_prepare include/linux/irq-entry-common.h:226 [inline]
syscall_exit_to_user_mode_prepare include/linux/irq-entry-common.h:256 [inline]
syscall_exit_to_user_mode_work include/linux/entry-common.h:159 [inline]
syscall_exit_to_user_mode include/linux/entry-common.h:194 [inline]
do_syscall_64+0x2e3/0xf80 arch/x86/entry/syscall_64.c:100
entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7f327b18f749
Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f327bfda038 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
RAX: fffffffffffffffc RBX: 00007f327b3e6090 RCX: 00007f327b18f749
RDX: 0000200000000100 RSI: 00000000c028aa05 RDI: 0000000000000003
RBP: 00007f327b213f91 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007f327b3e6128 R14: 00007f327b3e6090 R15: 00007fff113a25c8
</TASK>
----------------
Code disassembly (best guess), 2 bytes skipped:
0: 33 0b xor (%rbx),%ecx
2: 67 48 0f b9 3a ud1 (%edx),%rdi
7: eb 37 jmp 0x40
9: e8 95 1c 2b fd call 0xfd2b1ca3
e: 48 8d 3d 8e 0e 33 0b lea 0xb330e8e(%rip),%rdi # 0xb330ea3
15: 67 48 0f b9 3a ud1 (%edx),%rdi
1a: eb 24 jmp 0x40
1c: e8 82 1c 2b fd call 0xfd2b1ca3
21: 48 8d 3d 8b 0e 33 0b lea 0xb330e8b(%rip),%rdi # 0xb330eb3
* 28: 67 48 0f b9 3a ud1 (%edx),%rdi <-- trapping instruction
2d: eb 11 jmp 0x40
2f: e8 6f 1c 2b fd call 0xfd2b1ca3
34: 48 8d 3d 88 0e 33 0b lea 0xb330e88(%rip),%rdi # 0xb330ec3
3b: 67 addr32
3c: 48 rex.W
3d: 0f .byte 0xf