]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
mkdir-label: make mkdir_label() a wrapper around mkdirat_label()
authorLennart Poettering <lennart@poettering.net>
Fri, 12 Nov 2021 14:14:52 +0000 (15:14 +0100)
committerLennart Poettering <lennart@poettering.net>
Tue, 16 Nov 2021 16:02:30 +0000 (17:02 +0100)
src/shared/label.h
src/shared/mkdir-label.c

index b5118d96d32bfa8614ccb52997f1b4a08d366303..b198e140d047c0f8a37b90d1053ae596f57b4d21 100644 (file)
@@ -1,6 +1,7 @@
 /* SPDX-License-Identifier: LGPL-2.1-or-later */
 #pragma once
 
+#include <fcntl.h>
 #include <stdbool.h>
 #include <sys/types.h>
 
@@ -14,8 +15,12 @@ static inline int label_fix(const char *path, LabelFixFlags flags) {
         return label_fix_container(path, path, flags);
 }
 
-int mkdir_label(const char *path, mode_t mode);
 int mkdirat_label(int dirfd, const char *path, mode_t mode);
+
+static inline int mkdir_label(const char *path, mode_t mode) {
+        return mkdirat_label(AT_FDCWD, path, mode);
+}
+
 int symlink_label(const char *old_path, const char *new_path);
 int symlink_atomic_label(const char *from, const char *to);
 int mknod_label(const char *pathname, mode_t mode, dev_t dev);
index 9565117b9256c3b008c1415c226cfb8d34902cd7..9e2f8635351f8784d82836dc1aab3b346a07e5f9 100644 (file)
 #include "smack-util.h"
 #include "user-util.h"
 
-int mkdir_label(const char *path, mode_t mode) {
-        int r;
-
-        assert(path);
-
-        r = mac_selinux_create_file_prepare(path, S_IFDIR);
-        if (r < 0)
-                return r;
-
-        r = mkdir_errno_wrapper(path, mode);
-        mac_selinux_create_file_clear();
-        if (r < 0)
-                return r;
-
-        return mac_smack_fix(path, 0);
-}
-
 int mkdirat_label(int dirfd, const char *path, mode_t mode) {
         int r;