Skip to content

Commit 92f3868

Browse files
iftahlAlexanderGrissik
authored andcommitted
issue: 3525812 Fix buffer leak socketextreme
In reclaim buffer api - vma_socketxtreme_free_vma_packets we use reclaim_recv_buffers method which uses try_lock on the ring, but in case the lock has failed - buffers will not be returned. The fix - in case the ring is locked - reclaim buffers to the global pool. Signed-off-by: Iftah Levi <[email protected]>
1 parent 088f410 commit 92f3868

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

src/vma/sock/sock-redirect.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -466,7 +466,9 @@ int vma_socketxtreme_free_vma_packets(struct vma_packet_desc_t *packets, int num
466466
p_socket_object->free_buffs(packets[i].total_len);
467467
}
468468
if (rng) {
469-
rng->reclaim_recv_buffers(desc);
469+
if (!rng->reclaim_recv_buffers(desc)) {
470+
g_buffer_pool_rx->put_buffers_thread_safe(desc);
471+
}
470472
} else {
471473
goto err;
472474
}

0 commit comments

Comments
 (0)