]> git.ipfire.org Git - thirdparty/systemd.git/blobdiff - src/core/mount-setup.c
tree-wide: sort includes
[thirdparty/systemd.git] / src / core / mount-setup.c
index e84f80b61b48d12230d48cd2179fc3948e574afc..2b8d590ed1f94dbffbbc65df1e25f7e2b9f2c313 100644 (file)
   along with systemd; If not, see <http://www.gnu.org/licenses/>.
 ***/
 
-#include <sys/mount.h>
 #include <errno.h>
+#include <ftw.h>
 #include <stdlib.h>
+#include <sys/mount.h>
 #include <unistd.h>
-#include <ftw.h>
 
-#include "mount-setup.h"
-#include "dev-setup.h"
+#include "alloc-util.h"
 #include "bus-util.h"
+#include "cgroup-util.h"
+#include "dev-setup.h"
+#include "efivars.h"
+#include "label.h"
 #include "log.h"
 #include "macro.h"
-#include "util.h"
-#include "label.h"
-#include "set.h"
-#include "strv.h"
+#include "missing.h"
 #include "mkdir.h"
+#include "mount-setup.h"
+#include "mount-util.h"
 #include "path-util.h"
-#include "missing.h"
-#include "virt.h"
-#include "efivars.h"
+#include "set.h"
 #include "smack-util.h"
-#include "cgroup-util.h"
+#include "strv.h"
+#include "user-util.h"
+#include "util.h"
+#include "virt.h"
 
 typedef enum MountMode {
         MNT_NONE  =        0,
@@ -208,7 +211,7 @@ int mount_setup_early(void) {
                 int j;
 
                 j = mount_one(mount_table + i, false);
-                if (r == 0)
+                if (j != 0 && r >= 0)
                         r = j;
         }
 
@@ -303,6 +306,11 @@ int mount_cgroup_controllers(char ***join_controllers) {
                                 r = symlink(options, t);
                                 if (r < 0 && errno != EEXIST)
                                         return log_error_errno(errno, "Failed to create symlink %s: %m", t);
+#ifdef SMACK_RUN_LABEL
+                                r = mac_smack_copy(t, options);
+                                if (r < 0 && r != -EOPNOTSUPP)
+                                        return log_error_errno(r, "Failed to copy smack label from %s to %s: %m", options, t);
+#endif
                         }
                 }
         }
@@ -346,7 +354,7 @@ int mount_setup(bool loaded_policy) {
                 int j;
 
                 j = mount_one(mount_table + i, loaded_policy);
-                if (r == 0)
+                if (j != 0 && r >= 0)
                         r = j;
         }