summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2021-11-12 15:14:52 +0100
committerLennart Poettering <lennart@poettering.net>2021-11-16 17:02:30 +0100
commit3bb5ecaa88499a9ddab6afd61398b17393173e8d (patch)
tree2183ad54140e1579e87d033860ac2eac331a82c6
parentfc0f4d602429d5080df86af68e9aafa593572962 (diff)
downloadsystemd-3bb5ecaa88499a9ddab6afd61398b17393173e8d.tar.gz
mkdir-label: make mkdir_label() a wrapper around mkdirat_label()
-rw-r--r--src/shared/label.h7
-rw-r--r--src/shared/mkdir-label.c17
2 files changed, 6 insertions, 18 deletions
diff --git a/src/shared/label.h b/src/shared/label.h
index b5118d96d3..b198e140d0 100644
--- a/src/shared/label.h
+++ b/src/shared/label.h
@@ -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);
diff --git a/src/shared/mkdir-label.c b/src/shared/mkdir-label.c
index 9565117b92..9e2f863535 100644
--- a/src/shared/mkdir-label.c
+++ b/src/shared/mkdir-label.c
@@ -12,23 +12,6 @@
#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;