From d951ca056a693255e85549a6e811ec7dc26416fc Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Wed, 15 Nov 2023 10:52:53 +0100 Subject: [PATCH] lavapipe: replace dup() with os_dupfd_cloexec() dup() will leak the new FD into any child process after fork(). Part-of: --- src/gallium/frontends/lavapipe/lvp_device.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gallium/frontends/lavapipe/lvp_device.c b/src/gallium/frontends/lavapipe/lvp_device.c index 17461689e4a..9553e42ab15 100644 --- a/src/gallium/frontends/lavapipe/lvp_device.c +++ b/src/gallium/frontends/lavapipe/lvp_device.c @@ -37,6 +37,7 @@ #include "frontend/drisw_api.h" #include "util/u_inlines.h" +#include "util/os_file.h" #include "util/os_memory.h" #include "util/os_time.h" #include "util/u_thread.h" @@ -2400,7 +2401,7 @@ lvp_GetMemoryFdKHR(VkDevice _device, const VkMemoryGetFdInfoKHR *pGetFdInfo, int assert(pGetFdInfo->sType == VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR); assert_memhandle_type(pGetFdInfo->handleType); - *pFD = dup(memory->backed_fd); + *pFD = os_dupfd_cloexec(memory->backed_fd); assert(*pFD >= 0); return VK_SUCCESS; }