label: don't try to create labelled directories more than once

This commit is contained in:
Lennart Poettering
2014-10-23 21:36:56 +02:00
parent ecabcf8b6e
commit f3c80515c1
+5 -10
View File
@@ -35,24 +35,19 @@
static int label_mkdir(const char *path, mode_t mode) { static int label_mkdir(const char *path, mode_t mode) {
int r; int r;
if (mac_selinux_use()) { if (mac_selinux_use())
r = mac_selinux_mkdir(path, mode); return mac_selinux_mkdir(path, mode);
if (r < 0)
return r;
}
if (mac_smack_use()) { if (mac_smack_use()) {
r = mkdir(path, mode); r = mkdir(path, mode);
if (r < 0 && errno != EEXIST) if (r < 0)
return -errno; return -errno;
r = mac_smack_fix(path, false, false); return mac_smack_fix(path, false, false);
if (r < 0)
return r;
} }
r = mkdir(path, mode); r = mkdir(path, mode);
if (r < 0 && errno != EEXIST) if (r < 0)
return -errno; return -errno;
return 0; return 0;