diff --git a/src/base/buffer-type-linear.c b/src/base/buffer-type-linear.c index 9a8e33e0..80eb7f35 100644 --- a/src/base/buffer-type-linear.c +++ b/src/base/buffer-type-linear.c @@ -57,7 +57,7 @@ static int _buffer_linear_realloc(struct buffer *buf, size_t needed, int force) case BUFFER_BACKEND_MEMFD: if (buf->fd == -1 && - (buf->fd = memfd_create("buffer", MFD_CLOEXEC)) < 0) + (buf->fd = memfd_create("buffer", MFD_CLOEXEC | MFD_ALLOW_SEALING)) < 0) return -errno; if (ftruncate(buf->fd, needed) < 0) diff --git a/src/base/buffer-type-vector.c b/src/base/buffer-type-vector.c index da685627..c713cd57 100644 --- a/src/base/buffer-type-vector.c +++ b/src/base/buffer-type-vector.c @@ -59,7 +59,7 @@ static int _buffer_vector_realloc(struct buffer *buf, size_t needed, int force) case BUFFER_BACKEND_MEMFD: if (buf->fd == -1 && - (buf->fd = memfd_create("buffer", MFD_CLOEXEC)) < 0) + (buf->fd = memfd_create("buffer", MFD_CLOEXEC | MFD_ALLOW_SEALING)) < 0) return -errno; if (ftruncate(buf->fd, needed * VECTOR_ITEM_SIZE) < 0)