diff --git a/Xext/shm.c b/Xext/shm.c index c9efc092a..bc7f1f084 100644 --- a/Xext/shm.c +++ b/Xext/shm.c @@ -1217,7 +1217,6 @@ shm_tmpfile(void) #ifdef HAVE_MEMFD_CREATE fd = memfd_create("xorg", MFD_CLOEXEC|MFD_ALLOW_SEALING); if (fd != -1) { - fcntl(fd, F_ADD_SEALS, F_SEAL_SHRINK); DebugF ("Using memfd_create\n"); return fd; } @@ -1284,6 +1283,9 @@ ProcShmCreateSegment(ClientPtr client) close(fd); return BadAlloc; } +#if defined(F_ADD_SEALS) && defined(F_SEAL_SHRINK) + fcntl(fd, F_ADD_SEALS, F_SEAL_SHRINK); +#endif shmdesc = malloc(sizeof(ShmDescRec)); if (!shmdesc) { close(fd);