From 2a2e1b36a0417d748048b530e03d5428241f749d Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 12 Nov 2015 12:50:59 +0100 Subject: core: remove SmackFileSystemRootLabel= again Apparently, util-linux' mount command implicitly drops the smack-related options anyway before passing them to the kernel, if the kernel doesn't know SMACK, hence there's no point in duplicating this in systemd. Fixes #1696 --- man/systemd.mount.xml | 12 ------------ src/core/dbus-mount.c | 1 - src/core/load-fragment-gperf.gperf.m4 | 1 - src/core/mount.c | 34 +++++----------------------------- src/core/mount.h | 1 - units/tmp.mount.m4 | 3 --- 6 files changed, 5 insertions(+), 47 deletions(-) diff --git a/man/systemd.mount.xml b/man/systemd.mount.xml index 67e96dc157..a724d88584 100644 --- a/man/systemd.mount.xml +++ b/man/systemd.mount.xml @@ -365,18 +365,6 @@ to 0755. - - SmackFileSystemRootLabel= - Takes a string for the SMACK label. - This option specifies the label to assign the root of the - file system if it lacks the SMACK extended attribute. - Note that this option will be ignored if kernel does not - support the SMACK feature. - See Smack.txt - for details. - - TimeoutSec= Configures the time to wait for the mount diff --git a/src/core/dbus-mount.c b/src/core/dbus-mount.c index 0c91850c52..90a6d37073 100644 --- a/src/core/dbus-mount.c +++ b/src/core/dbus-mount.c @@ -118,7 +118,6 @@ const sd_bus_vtable bus_mount_vtable[] = { SD_BUS_PROPERTY("ControlPID", "u", bus_property_get_pid, offsetof(Mount, control_pid), SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE), SD_BUS_PROPERTY("DirectoryMode", "u", bus_property_get_mode, offsetof(Mount, directory_mode), SD_BUS_VTABLE_PROPERTY_CONST), SD_BUS_PROPERTY("SloppyOptions", "b", bus_property_get_bool, offsetof(Mount, sloppy_options), SD_BUS_VTABLE_PROPERTY_CONST), - SD_BUS_PROPERTY("SmackFileSystemRootLabel", "s", NULL, offsetof(Mount, smack_fs_root_label), SD_BUS_VTABLE_PROPERTY_CONST), SD_BUS_PROPERTY("Result", "s", property_get_result, offsetof(Mount, result), SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE), BUS_EXEC_COMMAND_VTABLE("ExecMount", offsetof(Mount, exec_command[MOUNT_EXEC_MOUNT]), SD_BUS_VTABLE_PROPERTY_EMITS_INVALIDATION), BUS_EXEC_COMMAND_VTABLE("ExecUnmount", offsetof(Mount, exec_command[MOUNT_EXEC_UNMOUNT]), SD_BUS_VTABLE_PROPERTY_EMITS_INVALIDATION), diff --git a/src/core/load-fragment-gperf.gperf.m4 b/src/core/load-fragment-gperf.gperf.m4 index 3294054ef7..c7ec027954 100644 --- a/src/core/load-fragment-gperf.gperf.m4 +++ b/src/core/load-fragment-gperf.gperf.m4 @@ -320,7 +320,6 @@ Mount.Type, config_parse_string, 0, Mount.TimeoutSec, config_parse_sec, 0, offsetof(Mount, timeout_usec) Mount.DirectoryMode, config_parse_mode, 0, offsetof(Mount, directory_mode) Mount.SloppyOptions, config_parse_bool, 0, offsetof(Mount, sloppy_options) -Mount.SmackFileSystemRootLabel, config_parse_string, 0, offsetof(Mount, smack_fs_root_label) EXEC_CONTEXT_CONFIG_ITEMS(Mount)m4_dnl CGROUP_CONTEXT_CONFIG_ITEMS(Mount)m4_dnl KILL_CONTEXT_CONFIG_ITEMS(Mount)m4_dnl diff --git a/src/core/mount.c b/src/core/mount.c index e86bcf3830..9b44357e90 100644 --- a/src/core/mount.c +++ b/src/core/mount.c @@ -41,7 +41,6 @@ #include "parse-util.h" #include "path-util.h" #include "process-util.h" -#include "smack-util.h" #include "special.h" #include "string-table.h" #include "string-util.h" @@ -211,7 +210,6 @@ static void mount_done(Unit *u) { assert(m); m->where = mfree(m->where); - m->smack_fs_root_label = mfree(m->smack_fs_root_label); mount_parameters_done(&m->parameters_proc_self_mountinfo); mount_parameters_done(&m->parameters_fragment); @@ -682,8 +680,7 @@ static void mount_dump(Unit *u, FILE *f, const char *prefix) { "%sOptions: %s\n" "%sFrom /proc/self/mountinfo: %s\n" "%sFrom fragment: %s\n" - "%sDirectoryMode: %04o\n" - "%sSmackFileSystemRootLabel: %s\n", + "%sDirectoryMode: %04o\n", prefix, mount_state_to_string(m->state), prefix, mount_result_to_string(m->result), prefix, m->where, @@ -692,8 +689,7 @@ static void mount_dump(Unit *u, FILE *f, const char *prefix) { prefix, p ? strna(p->options) : "n/a", prefix, yes_no(m->from_proc_self_mountinfo), prefix, yes_no(m->from_fragment), - prefix, m->directory_mode, - prefix, strna(m->smack_fs_root_label)); + prefix, m->directory_mode); if (m->control_pid > 0) fprintf(f, @@ -870,29 +866,9 @@ fail: mount_enter_mounted(m, MOUNT_FAILURE_RESOURCES); } -static int mount_get_opts(Mount *m, char **_opts) { - int r; - char *o = NULL, *opts = NULL; - - r = fstab_filter_options(m->parameters_fragment.options, - "nofail\0" "noauto\0" "auto\0", NULL, NULL, &o); - if (r < 0) - return r; - - if (mac_smack_use() && m->smack_fs_root_label) { - if (!isempty(o)) { - opts = strjoin(o, ",", "smackfsroot=", m->smack_fs_root_label, NULL); - free(o); - } else - opts = strjoin("smackfsroot=", m->smack_fs_root_label, NULL); - - if (!opts) - return -ENOMEM; - } else - opts = o; - - *_opts = opts; - return 0; +static int mount_get_opts(Mount *m, char **ret) { + return fstab_filter_options(m->parameters_fragment.options, + "nofail\0" "noauto\0" "auto\0", NULL, NULL, ret); } static void mount_enter_mounting(Mount *m) { diff --git a/src/core/mount.h b/src/core/mount.h index b344b5aa13..83d14ae713 100644 --- a/src/core/mount.h +++ b/src/core/mount.h @@ -71,7 +71,6 @@ struct Mount { bool reset_cpu_usage:1; bool sloppy_options; - char *smack_fs_root_label; MountResult result; MountResult reload_result; diff --git a/units/tmp.mount.m4 b/units/tmp.mount.m4 index 6402200c62..00a0d28722 100644 --- a/units/tmp.mount.m4 +++ b/units/tmp.mount.m4 @@ -19,6 +19,3 @@ What=tmpfs Where=/tmp Type=tmpfs Options=mode=1777,strictatime -m4_ifdef(`HAVE_SMACK', -SmackFileSystemRootLabel=* -)m4_dnl -- cgit v1.2.3-54-g00ecf