diff options
author | Rudi Heitbaum <rudi@heitbaum.com> | 2023-08-13 09:37:32 +0000 |
---|---|---|
committer | Rudi Heitbaum <rudi@heitbaum.com> | 2023-08-13 09:37:32 +0000 |
commit | 421cf15486eea1b52f10e2b0be305018fee8c285 (patch) | |
tree | c0d756b9f87dfea40ab3d964d9b06d70bed9ccb4 | |
parent | eb302240cc3e8fbc5c2562544eba82a22a075f00 (diff) |
shm: allow for older versions of Linux without MFD_NOEXEC_SEAL
Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/794>
-rw-r--r-- | src/pulsecore/shm.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/pulsecore/shm.c b/src/pulsecore/shm.c index 4247b0921..694f971b4 100644 --- a/src/pulsecore/shm.c +++ b/src/pulsecore/shm.c @@ -164,7 +164,11 @@ static int sharedmem_create(pa_shm *m, pa_mem_type_t type, size_t size, mode_t m #endif #ifdef HAVE_MEMFD case PA_MEM_TYPE_SHARED_MEMFD: + /* For linux >= 6.3 create fd with MFD_NOEXEC_SEAL flag */ fd = memfd_create("pulseaudio", MFD_ALLOW_SEALING|MFD_CLOEXEC|MFD_NOEXEC_SEAL); + /* Retry creating fd without MFD_NOEXEC_SEAL to support linux < 6.3 */ + if (fd < 0) + fd = memfd_create("pulseaudio", MFD_ALLOW_SEALING|MFD_CLOEXEC); break; #endif default: |