From: Paul Gofman <pgofman@codeweavers.com> --- configure.ac | 1 + server/mapping.c | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/configure.ac b/configure.ac index 77b80ecb395..35f21a7b486 100644 --- a/configure.ac +++ b/configure.ac @@ -2116,6 +2116,7 @@ AC_CHECK_FUNCS(\ getifaddrs \ getrandom \ kqueue \ + memfd_create \ pipe2 \ port_create \ posix_fadvise \ diff --git a/server/mapping.c b/server/mapping.c index 905d528b04f..d3fcc708022 100644 --- a/server/mapping.c +++ b/server/mapping.c @@ -365,6 +365,13 @@ static int create_temp_file( file_pos_t size ) char tmpfn[16]; int fd; +#ifdef HAVE_MEMFD_CREATE + if ((fd = memfd_create( "wine-mapping", 0 )) != -1) + { + if (grow_file( fd, size )) return fd; + close( fd ); + } +#endif if (temp_dir_fd == -1) { temp_dir_fd = server_dir_fd; -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10251