util: when sealing memfds, also use F_SEAL_SEAL
authorLennart Poettering <lennart@poettering.net>
Tue, 4 Nov 2014 17:52:31 +0000 (18:52 +0100)
committerLennart Poettering <lennart@poettering.net>
Tue, 4 Nov 2014 17:52:34 +0000 (18:52 +0100)
Let's be strict here, since its better to be safe than sorry.

src/shared/memfd-util.c

index 21ecf4b..6624c5e 100644 (file)
@@ -101,7 +101,7 @@ int memfd_set_sealed(int fd) {
 
         assert(fd >= 0);
 
-        r = fcntl(fd, F_ADD_SEALS, F_SEAL_SHRINK | F_SEAL_GROW | F_SEAL_WRITE);
+        r = fcntl(fd, F_ADD_SEALS, F_SEAL_SHRINK | F_SEAL_GROW | F_SEAL_WRITE | F_SEAL_SEAL);
         if (r < 0)
                 return -errno;
 
@@ -117,8 +117,7 @@ int memfd_get_sealed(int fd) {
         if (r < 0)
                 return -errno;
 
-        return (r & (F_SEAL_SHRINK | F_SEAL_GROW | F_SEAL_WRITE)) ==
-                    (F_SEAL_SHRINK | F_SEAL_GROW | F_SEAL_WRITE);
+        return r == (F_SEAL_SHRINK | F_SEAL_GROW | F_SEAL_WRITE | F_SEAL_SEAL);
 }
 
 int memfd_get_size(int fd, uint64_t *sz) {