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

Commit 7e14d020 authored by Josh Gao's avatar Josh Gao
Browse files

debuggerd_handler: don't dump PR_NO_NEW_PRIVS processes.

We can't do an selinux transition when this is on.

Bug: http://b/34472671
Test: logcat -c; debuggerd `pidof media.codec`; logcat
Change-Id: Ie6c1832ab838df48879c32a86126862de9a15420
parent 529b3066
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -301,7 +301,14 @@ static void debuggerd_signal_handler(int signal_number, siginfo_t* info, void*)
    // The process has disabled core dumps and PTRACE_ATTACH, and does not want to be dumped.
    __libc_format_log(ANDROID_LOG_INFO, "libc",
                      "Suppressing debuggerd output because prctl(PR_GET_DUMPABLE)==0");
    resend_signal(info, false);
    return;
  }

  if (prctl(PR_GET_NO_NEW_PRIVS, 0, 0, 0, 0) == 1) {
    // The process has NO_NEW_PRIVS enabled, so we can't transition to the crash_dump context.
    __libc_format_log(ANDROID_LOG_INFO, "libc",
                      "Suppressing debuggerd output because prctl(PR_GET_NO_NEW_PRIVS)==1");
    resend_signal(info, false);
    return;
  }