diff --git a/src/basic/btrfs-util.c b/src/basic/btrfs-util.c index ac96e63531..f8d743b407 100644 --- a/src/basic/btrfs-util.c +++ b/src/basic/btrfs-util.c @@ -50,7 +50,6 @@ #include "missing.h" #include "path-util.h" #include "rm-rf.h" -#include "selinux-util.h" #include "smack-util.h" #include "sparse-endian.h" #include "stat-util.h" @@ -174,24 +173,6 @@ int btrfs_subvol_make(const char *path) { return 0; } -int btrfs_subvol_make_label(const char *path) { - int r; - - assert(path); - - r = mac_selinux_create_file_prepare(path, S_IFDIR); - if (r < 0) - return r; - - r = btrfs_subvol_make(path); - mac_selinux_create_file_clear(); - - if (r < 0) - return r; - - return mac_smack_fix(path, false, false); -} - int btrfs_subvol_set_read_only_fd(int fd, bool b) { uint64_t flags, nflags; struct stat st; diff --git a/src/basic/btrfs-util.h b/src/basic/btrfs-util.h index 2c78daa37b..952b3c26da 100644 --- a/src/basic/btrfs-util.h +++ b/src/basic/btrfs-util.h @@ -84,7 +84,6 @@ int btrfs_resize_loopback_fd(int fd, uint64_t size, bool grow_only); int btrfs_resize_loopback(const char *path, uint64_t size, bool grow_only); int btrfs_subvol_make(const char *path); -int btrfs_subvol_make_label(const char *path); int btrfs_subvol_snapshot_fd(int old_fd, const char *new_path, BtrfsSnapshotFlags flags); int btrfs_subvol_snapshot(const char *old_path, const char *new_path, BtrfsSnapshotFlags flags); diff --git a/src/basic/label.c b/src/basic/label.c index ce81d286ab..94a2458149 100644 --- a/src/basic/label.c +++ b/src/basic/label.c @@ -22,6 +22,7 @@ #include #include +#include "btrfs-util.h" #include "label.h" #include "macro.h" #include "selinux-util.h" @@ -81,3 +82,21 @@ int symlink_label(const char *old_path, const char *new_path) { return mac_smack_fix(new_path, false, false); } + +int btrfs_subvol_make_label(const char *path) { + int r; + + assert(path); + + r = mac_selinux_create_file_prepare(path, S_IFDIR); + if (r < 0) + return r; + + r = btrfs_subvol_make(path); + mac_selinux_create_file_clear(); + + if (r < 0) + return r; + + return mac_smack_fix(path, false, false); +} diff --git a/src/basic/label.h b/src/basic/label.h index 86447c2e98..d73dacec4f 100644 --- a/src/basic/label.h +++ b/src/basic/label.h @@ -27,3 +27,5 @@ int label_fix(const char *path, bool ignore_enoent, bool ignore_erofs); int mkdir_label(const char *path, mode_t mode); int symlink_label(const char *old_path, const char *new_path); + +int btrfs_subvol_make_label(const char *path); diff --git a/src/boot/bootctl.c b/src/boot/bootctl.c index 525470f096..48fdf97c7f 100644 --- a/src/boot/bootctl.c +++ b/src/boot/bootctl.c @@ -1043,7 +1043,7 @@ static int verb_list(int argc, char *argv[], void *userdata) { boot_entry_title(e), ansi_normal(), ansi_highlight_green(), - n == config.default_entry ? " (default)" : "", + n == (unsigned) config.default_entry ? " (default)" : "", ansi_normal()); if (e->version) printf(" version: %s\n", e->version); diff --git a/src/core/machine-id-setup.c b/src/core/machine-id-setup.c index 767e97206c..1b7424800c 100644 --- a/src/core/machine-id-setup.c +++ b/src/core/machine-id-setup.c @@ -119,16 +119,15 @@ int machine_id_setup(const char *root, sd_id128_t machine_id, sd_id128_t *ret) { fd = open(etc_machine_id, O_RDONLY|O_CLOEXEC|O_NOCTTY); if (fd < 0) { if (old_errno == EROFS && errno == ENOENT) - log_error_errno(errno, + return log_error_errno(errno, "System cannot boot: Missing /etc/machine-id and /etc is mounted read-only.\n" "Booting up is supported only when:\n" "1) /etc/machine-id exists and is populated.\n" "2) /etc/machine-id exists and is empty.\n" "3) /etc/machine-id is missing and /etc is writable.\n"); else - log_error_errno(errno, "Cannot open %s: %m", etc_machine_id); - - return -errno; + return log_error_errno(errno, + "Cannot open %s: %m", etc_machine_id); } writable = false; diff --git a/src/libsystemd/sd-bus/bus-socket.c b/src/libsystemd/sd-bus/bus-socket.c index 07a9c8affd..d72cb616e0 100644 --- a/src/libsystemd/sd-bus/bus-socket.c +++ b/src/libsystemd/sd-bus/bus-socket.c @@ -608,11 +608,9 @@ static void bus_get_peercred(sd_bus *b) { b->ucred_valid = getpeercred(b->input_fd, &b->ucred) >= 0; /* Get the SELinux context of the peer */ - if (mac_selinux_use()) { - r = getpeersec(b->input_fd, &b->label); - if (r < 0 && r != -EOPNOTSUPP) - log_debug_errno(r, "Failed to determine peer security context: %m"); - } + r = getpeersec(b->input_fd, &b->label); + if (r < 0 && r != -EOPNOTSUPP) + log_debug_errno(r, "Failed to determine peer security context: %m"); } static int bus_socket_start_auth_client(sd_bus *b) { diff --git a/src/shared/machine-pool.c b/src/shared/machine-pool.c index 167bcfad36..e7d19b10aa 100644 --- a/src/shared/machine-pool.c +++ b/src/shared/machine-pool.c @@ -42,6 +42,7 @@ #include "fd-util.h" #include "fileio.h" #include "fs-util.h" +#include "label.h" #include "lockfile-util.h" #include "log.h" #include "machine-pool.h"