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 <freedesk...@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 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev