[Mesa-dev] [PATCH 4/5] etnaviv: replace calls to dup(2) with fcntl(F_DUPFD_CLOEXEC)
Matt Whitlock
freedesktop at mattwhitlock.name
Tue Mar 27 00:57:32 UTC 2018
Without this fix, duplicated file descriptors leak into child processes.
See commit aaac913e901229d11a1894f6aaf646de6b1a542c for one instance
where the same fix was employed.
Signed-off-by: Matt Whitlock <freedesktop at mattwhitlock.name>
---
src/gallium/drivers/etnaviv/etnaviv_fence.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/gallium/drivers/etnaviv/etnaviv_fence.c b/src/gallium/drivers/etnaviv/etnaviv_fence.c
index 22a964ad28..594fa7e76d 100644
--- a/src/gallium/drivers/etnaviv/etnaviv_fence.c
+++ b/src/gallium/drivers/etnaviv/etnaviv_fence.c
@@ -80,7 +80,7 @@ etna_create_fence_fd(struct pipe_context *pctx,
enum pipe_fd_type type)
{
assert(type == PIPE_FD_TYPE_NATIVE_SYNC);
- *pfence = etna_fence_create(pctx, dup(fd));
+ *pfence = etna_fence_create(pctx, fcntl(fd, F_DUPFD_CLOEXEC, 3));
}
void
@@ -96,7 +96,7 @@ static int
etna_screen_fence_get_fd(struct pipe_screen *pscreen,
struct pipe_fence_handle *pfence)
{
- return dup(pfence->fence_fd);
+ return fcntl(pfence->fence_fd, F_DUPFD_CLOEXEC, 3);
}
struct pipe_fence_handle *
--
2.16.3
More information about the mesa-dev
mailing list