From: Lennart Poettering Date: Mon, 10 Sep 2012 11:14:56 +0000 (+0200) Subject: selinux: close stdin/stdout/stderr before loading selinux policy X-Git-Tag: v190~145 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=2f6f1bc30c528ca7346b4c93f08b65682aa2876f selinux: close stdin/stdout/stderr before loading selinux policy Let's make sure libselinux doesn't spew to stderr --- diff --git a/src/core/main.c b/src/core/main.c index 33c0692c7..458fdca55 100644 --- a/src/core/main.c +++ b/src/core/main.c @@ -1266,6 +1266,8 @@ int main(int argc, char *argv[]) { } arg_running_as = MANAGER_SYSTEM; + + make_null_stdio(); log_set_target(detect_container(NULL) > 0 ? LOG_TARGET_JOURNAL : LOG_TARGET_JOURNAL_OR_KMSG); if (!skip_setup) { @@ -1439,10 +1441,8 @@ int main(int argc, char *argv[]) { /* Reset the console, but only if this is really init and we * are freshly booted */ - if (arg_running_as == MANAGER_SYSTEM && arg_action == ACTION_RUN) { + if (arg_running_as == MANAGER_SYSTEM && arg_action == ACTION_RUN) console_setup(getpid() == 1 && !skip_setup); - make_null_stdio(); - } /* Open the logging devices, if possible and necessary */ log_open(); diff --git a/src/core/selinux-setup.c b/src/core/selinux-setup.c index fa025b726..52df7a722 100644 --- a/src/core/selinux-setup.c +++ b/src/core/selinux-setup.c @@ -79,7 +79,6 @@ int selinux_setup(bool *loaded_policy) { /* Now load the policy */ before_load = now(CLOCK_MONOTONIC); r = selinux_init_load_policy(&enforce); - if (r == 0) { char timespan[FORMAT_TIMESPAN_MAX]; char *label;