summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYu Watanabe <watanabe.yu+github@gmail.com>2023-05-16 11:48:29 +0200
committerYu Watanabe <watanabe.yu+github@gmail.com>2023-05-16 11:48:32 +0200
commit17915ea5b3d11790a8bd1f09335aa10bdf3c2a96 (patch)
tree6d26c19cd1743ef9cf5bbfdae4a5fc6e74365211
parentmissing: add more F_SEAL_XYZ flags (diff)
downloadsystemd-17915ea5b3d11790a8bd1f09335aa10bdf3c2a96.tar.xz
systemd-17915ea5b3d11790a8bd1f09335aa10bdf3c2a96.zip
memfd-util: memfd may also have F_SEAL_EXEC flag
Follow-up for c29715a8f77d96cd731b4a3083b3a852b3b61eb8. Fixes #27608.
-rw-r--r--src/basic/memfd-util.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/basic/memfd-util.c b/src/basic/memfd-util.c
index 285abd41d3..3e99ab0480 100644
--- a/src/basic/memfd-util.c
+++ b/src/basic/memfd-util.c
@@ -106,7 +106,8 @@ int memfd_get_sealed(int fd) {
if (r < 0)
return -errno;
- return r == (F_SEAL_SHRINK | F_SEAL_GROW | F_SEAL_WRITE | F_SEAL_SEAL);
+ /* We ignore F_SEAL_EXEC here to support older kernels. */
+ return FLAGS_SET(r, F_SEAL_SHRINK | F_SEAL_GROW | F_SEAL_WRITE | F_SEAL_SEAL);
}
int memfd_get_size(int fd, uint64_t *sz) {