Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8d5b2b68 authored by Mark Salyzyn's avatar Mark Salyzyn Committed by android-build-merger
Browse files

Merge "init: first stage init tie stdout and stderr to /dev/kmsg"

am: b85c72ca

Change-Id: Ie9956a1033adb4a4ba97652ae252ee5df47d7749
parents 1562c6cd b85c72ca
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -121,9 +121,9 @@ void StartConsole() {
        _exit(127);
    }
    ioctl(fd, TIOCSCTTY, 0);
    dup2(fd, 0);
    dup2(fd, 1);
    dup2(fd, 2);
    dup2(fd, STDIN_FILENO);
    dup2(fd, STDOUT_FILENO);
    dup2(fd, STDERR_FILENO);
    close(fd);

    const char* path = "/system/bin/sh";
@@ -291,6 +291,10 @@ int FirstStageMain(int argc, char** argv) {

    const char* path = "/system/bin/init";
    const char* args[] = {path, "selinux_setup", nullptr};
    auto fd = open("/dev/kmsg", O_WRONLY | O_CLOEXEC);
    dup2(fd, STDOUT_FILENO);
    dup2(fd, STDERR_FILENO);
    close(fd);
    execv(path, const_cast<char**>(args));

    // execv() only returns if an error happened, in which case we
+1 −0
Original line number Diff line number Diff line
@@ -523,6 +523,7 @@ int SelinuxGetVendorAndroidVersion() {

// This function initializes SELinux then execs init to run in the init SELinux context.
int SetupSelinux(char** argv) {
    SetStdioToDevNull(argv);
    InitKernelLogging(argv);

    if (REBOOT_BOOTLOADER_ON_PANIC) {