Hello,
syzbot has tested the proposed patch but the reproducer is still triggering an
issue:
memory leak in prepare_creds
2026/04/27 17:01:37 executed programs: 5
BUG: memory leak
unreferenced object 0xffff888103b7b900 (size 184):
comm "syz-executor", pid 6458, jiffies 4294946243
hex dump (first 32 bytes):
01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
backtrace (crc 5efbd4bc):
kmemleak_alloc_recursive include/linux/kmemleak.h:44 [inline]
slab_post_alloc_hook mm/slub.c:4574 [inline]
slab_alloc_node mm/slub.c:4898 [inline]
kmem_cache_alloc_noprof+0x36c/0x480 mm/slub.c:4905
prepare_creds+0x22/0x600 kernel/cred.c:185
copy_creds+0x44/0x290 kernel/cred.c:286
copy_process+0x920/0x2cf0 kernel/fork.c:2123
kernel_clone+0xde/0x700 kernel/fork.c:2723
__do_sys_clone+0x7f/0xb0 kernel/fork.c:2864
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0xee/0xf80 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f
BUG: memory leak
unreferenced object 0xffff88810ad103a0 (size 32):
comm "syz-executor", pid 6458, jiffies 4294946243
hex dump (first 32 bytes):
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
f8 56 0a 00 81 88 ff ff 00 00 00 00 00 00 00 00 .V..............
backtrace (crc 109407f3):
kmemleak_alloc_recursive include/linux/kmemleak.h:44 [inline]
slab_post_alloc_hook mm/slub.c:4574 [inline]
slab_alloc_node mm/slub.c:4898 [inline]
__do_kmalloc_node mm/slub.c:5294 [inline]
__kmalloc_noprof+0x3b7/0x550 mm/slub.c:5307
kmalloc_noprof include/linux/slab.h:954 [inline]
kzalloc_noprof include/linux/slab.h:1188 [inline]
lsm_blob_alloc+0x4d/0x80 security/security.c:218
lsm_cred_alloc security/security.c:235 [inline]
security_prepare_creds+0x2d/0x290 security/security.c:2866
prepare_creds+0x395/0x600 kernel/cred.c:215
copy_creds+0x44/0x290 kernel/cred.c:286
copy_process+0x920/0x2cf0 kernel/fork.c:2123
kernel_clone+0xde/0x700 kernel/fork.c:2723
__do_sys_clone+0x7f/0xb0 kernel/fork.c:2864
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0xee/0xf80 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f
BUG: memory leak
unreferenced object 0xffff888111516800 (size 1272):
comm "kworker/1:3", pid 5684, jiffies 4294946243
hex dump (first 32 bytes):
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
28 00 0b 40 00 00 00 00 00 00 00 00 00 00 00 00 (..@............
backtrace (crc 5e448183):
kmemleak_alloc_recursive include/linux/kmemleak.h:44 [inline]
slab_post_alloc_hook mm/slub.c:4574 [inline]
slab_alloc_node mm/slub.c:4898 [inline]
kmem_cache_alloc_noprof+0x36c/0x480 mm/slub.c:4905
sk_prot_alloc+0x3e/0x1b0 net/core/sock.c:2241
sk_alloc+0x36/0x460 net/core/sock.c:2303
__vsock_create.constprop.0+0x38/0x2f0 net/vmw_vsock/af_vsock.c:907
virtio_transport_recv_listen net/vmw_vsock/virtio_transport_common.c:1566
[inline]
virtio_transport_recv_pkt+0x88d/0xfb0
net/vmw_vsock/virtio_transport_common.c:1693
vsock_loopback_work+0x104/0x140 net/vmw_vsock/vsock_loopback.c:142
process_one_work+0x277/0x5b0 kernel/workqueue.c:3302
process_scheduled_works kernel/workqueue.c:3385 [inline]
worker_thread+0x255/0x4a0 kernel/workqueue.c:3466
kthread+0x14e/0x1a0 kernel/kthread.c:436
ret_from_fork+0x219/0x490 arch/x86/kernel/process.c:158
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
BUG: memory leak
unreferenced object 0xffff88812daab5e0 (size 32):
comm "kworker/1:3", pid 5684, jiffies 4294946243
hex dump (first 32 bytes):
f8 56 0a 00 81 88 ff ff 00 00 00 00 00 00 00 00 .V..............
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
backtrace (crc 79381f4a):
kmemleak_alloc_recursive include/linux/kmemleak.h:44 [inline]
slab_post_alloc_hook mm/slub.c:4574 [inline]
slab_alloc_node mm/slub.c:4898 [inline]
__do_kmalloc_node mm/slub.c:5294 [inline]
__kmalloc_noprof+0x3b7/0x550 mm/slub.c:5307
kmalloc_noprof include/linux/slab.h:954 [inline]
kzalloc_noprof include/linux/slab.h:1188 [inline]
lsm_blob_alloc+0x4d/0x80 security/security.c:218
lsm_sock_alloc security/security.c:4478 [inline]
security_sk_alloc+0x2d/0x290 security/security.c:4494
sk_prot_alloc+0x8f/0x1b0 net/core/sock.c:2250
sk_alloc+0x36/0x460 net/core/sock.c:2303
__vsock_create.constprop.0+0x38/0x2f0 net/vmw_vsock/af_vsock.c:907
virtio_transport_recv_listen net/vmw_vsock/virtio_transport_common.c:1566
[inline]
virtio_transport_recv_pkt+0x88d/0xfb0
net/vmw_vsock/virtio_transport_common.c:1693
vsock_loopback_work+0x104/0x140 net/vmw_vsock/vsock_loopback.c:142
process_one_work+0x277/0x5b0 kernel/workqueue.c:3302
process_scheduled_works kernel/workqueue.c:3385 [inline]
worker_thread+0x255/0x4a0 kernel/workqueue.c:3466
kthread+0x14e/0x1a0 kernel/kthread.c:436
ret_from_fork+0x219/0x490 arch/x86/kernel/process.c:158
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
BUG: memory leak
unreferenced object 0xffff88810b1a75a0 (size 96):
comm "kworker/1:3", pid 5684, jiffies 4294946243
hex dump (first 32 bytes):
00 68 51 11 81 88 ff ff 00 00 00 00 00 00 00 00 .hQ.............
00 00 00 00 00 00 00 00 00 00 04 00 00 00 00 00 ................
backtrace (crc 428f2031):
kmemleak_alloc_recursive include/linux/kmemleak.h:44 [inline]
slab_post_alloc_hook mm/slub.c:4574 [inline]
slab_alloc_node mm/slub.c:4898 [inline]
__kmalloc_cache_noprof+0x371/0x480 mm/slub.c:5410
kmalloc_noprof include/linux/slab.h:950 [inline]
kzalloc_noprof include/linux/slab.h:1188 [inline]
virtio_transport_do_socket_init+0x2b/0xf0
net/vmw_vsock/virtio_transport_common.c:925
vsock_assign_transport+0x3a3/0x460 net/vmw_vsock/af_vsock.c:656
virtio_transport_recv_listen net/vmw_vsock/virtio_transport_common.c:1582
[inline]
virtio_transport_recv_pkt+0x8e5/0xfb0
net/vmw_vsock/virtio_transport_common.c:1693
vsock_loopback_work+0x104/0x140 net/vmw_vsock/vsock_loopback.c:142
process_one_work+0x277/0x5b0 kernel/workqueue.c:3302
process_scheduled_works kernel/workqueue.c:3385 [inline]
worker_thread+0x255/0x4a0 kernel/workqueue.c:3466
kthread+0x14e/0x1a0 kernel/kthread.c:436
ret_from_fork+0x219/0x490 arch/x86/kernel/process.c:158
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
BUG: memory leak
unreferenced object 0xffff888111516300 (size 1272):
comm "kworker/1:3", pid 5684, jiffies 4294946244
hex dump (first 32 bytes):
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
28 00 0b 40 00 00 00 00 00 00 00 00 00 00 00 00 (..@............
backtrace (crc e1cd45d1):
kmemleak_alloc_recursive include/linux/kmemleak.h:44 [inline]
slab_post_alloc_hook mm/slub.c:4574 [inline]
slab_alloc_node mm/slub.c:4898 [inline]
kmem_cache_alloc_noprof+0x36c/0x480 mm/slub.c:4905
sk_prot_alloc+0x3e/0x1b0 net/core/sock.c:2241
sk_alloc+0x36/0x460 net/core/sock.c:2303
__vsock_create.constprop.0+0x38/0x2f0 net/vmw_vsock/af_vsock.c:907
virtio_transport_recv_listen net/vmw_vsock/virtio_transport_common.c:1566
[inline]
virtio_transport_recv_pkt+0x88d/0xfb0
net/vmw_vsock/virtio_transport_common.c:1693
vsock_loopback_work+0x104/0x140 net/vmw_vsock/vsock_loopback.c:142
process_one_work+0x277/0x5b0 kernel/workqueue.c:3302
process_scheduled_works kernel/workqueue.c:3385 [inline]
worker_thread+0x255/0x4a0 kernel/workqueue.c:3466
kthread+0x14e/0x1a0 kernel/kthread.c:436
ret_from_fork+0x219/0x490 arch/x86/kernel/process.c:158
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
connection error: failed to recv *flatrpc.ExecutorMessageRawT: EOF
Tested on:
commit: 39ff9a4a vsock/virtio: fix socket leak on close_timeou..
git tree: https://github.com/stefano-garzarella/linux.git
fix-syzbot-memleak-vsock-create
console output: https://syzkaller.appspot.com/x/log.txt?x=1742b896580000
kernel config: https://syzkaller.appspot.com/x/.config?x=dfcc8f993a958a78
dashboard link: https://syzkaller.appspot.com/bug?extid=1b2c9c4a0f8708082678
compiler: gcc (Debian 14.2.0-19) 14.2.0, GNU ld (GNU Binutils for Debian)
2.44
Note: no patches were applied.