]> git.ipfire.org Git - thirdparty/systemd.git/blobdiff - src/shared/tmpfile-util-label.c
executor: check for all permission related errnos when setting up IPC namespace
[thirdparty/systemd.git] / src / shared / tmpfile-util-label.c
index c12d7c1375d5bedcbaee7f24086f59bbdd6dda3e..a5f364cba0a358e0b1c024b6fdb23864b0f86b1a 100644 (file)
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: LGPL-2.1+ */
+/* SPDX-License-Identifier: LGPL-2.1-or-later */
 
 #include <sys/stat.h>
 
@@ -6,7 +6,8 @@
 #include "tmpfile-util-label.h"
 #include "tmpfile-util.h"
 
-int fopen_temporary_label(
+int fopen_temporary_at_label(
+                int dir_fd,
                 const char *target,
                 const char *path,
                 FILE **f,
@@ -14,11 +15,14 @@ int fopen_temporary_label(
 
         int r;
 
-        r = mac_selinux_create_file_prepare(target, S_IFREG);
+        assert(dir_fd >= 0 || dir_fd == AT_FDCWD);
+        assert(path);
+
+        r = mac_selinux_create_file_prepare_at(dir_fd, target, S_IFREG);
         if (r < 0)
                 return r;
 
-        r = fopen_temporary(path, f, temp_path);
+        r = fopen_temporary_at(dir_fd, path, f, temp_path);
 
         mac_selinux_create_file_clear();