]>
git.ipfire.org Git - thirdparty/systemd.git/blob - src/basic/mkdir-label.c
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 int mkdir_parents_label(const char *path
, mode_t mode
) {
42 return mkdir_parents_internal(NULL
, path
, mode
, mkdir_label
);
45 int mkdir_p_label(const char *path
, mode_t mode
) {
46 return mkdir_p_internal(NULL
, path
, mode
, mkdir_label
);