summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorYu Watanabe <watanabe.yu+github@gmail.com>2023-05-16 18:48:29 +0900
committerYu Watanabe <watanabe.yu+github@gmail.com>2023-05-16 18:48:32 +0900
commit17915ea5b3d11790a8bd1f09335aa10bdf3c2a96 (patch)
tree6d26c19cd1743ef9cf5bbfdae4a5fc6e74365211 /src
parent8e3303333faabadfff1c48935e21f7fd6d1b832e (diff)
downloadsystemd-17915ea5b3d11790a8bd1f09335aa10bdf3c2a96.tar.gz
memfd-util: memfd may also have F_SEAL_EXEC flag
Follow-up for c29715a8f77d96cd731b4a3083b3a852b3b61eb8. Fixes #27608.
Diffstat (limited to 'src')
-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) {