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

Commit 7107141a 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

am: 8d5b2b68

Change-Id: Iba50d3a923b0bf7c2e5174bb537cbbc62e8f19b3
parents ce2f3296 8d5b2b68
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) {