1 /* SPDX-License-Identifier: LGPL-2.1+ */
3 This file is part of systemd.
5 Copyright 2010 Lennart Poettering
6 Copyright 2013 Kay Sievers
11 #include <sys/types.h>
17 #include "selinux-util.h"
18 #include "smack-util.h"
20 int mkdir_label(const char *path, mode_t mode) {
25 r = mac_selinux_create_file_prepare(path, S_IFDIR);
29 r = mkdir_errno_wrapper(path, mode);
30 mac_selinux_create_file_clear();
34 return mac_smack_fix(path, 0);
37 int mkdir_safe_label(const char *path, mode_t mode, uid_t uid, gid_t gid, MkdirFlags flags) {
38 return mkdir_safe_internal(path, mode, uid, gid, flags, mkdir_label);
41 #if 0 /// UNNEEDED by elogind
42 int mkdir_parents_label(const char *path, mode_t mode) {
43 return mkdir_parents_internal(NULL, path, mode, mkdir_label);
47 int mkdir_p_label(const char *path, mode_t mode) {
48 return mkdir_p_internal(NULL, path, mode, mkdir_label);