#include "path-util.h"
#include "mkdir.h"
+static int label_mkdir(const char *path, mode_t mode) {
+ int r;
+
+ if (mac_selinux_use()) {
+ r = mac_selinux_mkdir(path, mode);
+ if (r < 0)
+ return r;
+ }
+
+ if (mac_smack_use()) {
+ r = mkdir(path, mode);
+ if (r < 0 && errno != EEXIST)
+ return -errno;
+
+ r = mac_smack_fix(path, false, false);
+ if (r < 0)
+ return r;
+ }
+
+ r = mkdir(path, mode);
+ if (r < 0 && errno != EEXIST)
+ return -errno;
+
+ return 0;
+}
+
int mkdir_label(const char *path, mode_t mode) {
return label_mkdir(path, mode);
}