diff options
author | jln@chromium.org <jln@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-02-14 07:31:03 +0000 |
---|---|---|
committer | jln@chromium.org <jln@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-02-14 07:31:03 +0000 |
commit | 59890750132cc5141e1483444f5a366c246efb6b (patch) | |
tree | dcad754fcb900f77ba1b081f5cc339d3b2e0422c /sandbox | |
parent | b0396cabd6623c5f42f6ff2b200ff00eb47f376d (diff) | |
download | chromium_src-59890750132cc5141e1483444f5a366c246efb6b.zip chromium_src-59890750132cc5141e1483444f5a366c246efb6b.tar.gz chromium_src-59890750132cc5141e1483444f5a366c246efb6b.tar.bz2 |
Revert 251265 "Setuid sandbox: exit(2) on SIGABRT"
> Setuid sandbox: exit(2) on SIGABRT
>
> The setuid sandbox waits on its one child and then dies
> afterwards.
>
> When receiving SIGABRT, instead of dumping core, simply exit the
> process. There is no interesting information to be gathered from
> knowing that the process is inside waitid(2), one should look at
> the child process instead.
>
> This patch hopes to reduce red herrings.
>
> BUG=334345
> NOTRY=true
> R=jorgelo@chromium.org
>
> Review URL: https://codereview.chromium.org/165673002
TBR=jln@chromium.org
Review URL: https://codereview.chromium.org/164373005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251269 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'sandbox')
-rw-r--r-- | sandbox/linux/suid/sandbox.c | 15 |
1 files changed, 0 insertions, 15 deletions
diff --git a/sandbox/linux/suid/sandbox.c b/sandbox/linux/suid/sandbox.c index 5a9c3dc..2dd78ef 100644 --- a/sandbox/linux/suid/sandbox.c +++ b/sandbox/linux/suid/sandbox.c @@ -58,12 +58,6 @@ static void FatalError(const char *msg, ...) { _exit(1); } -static void ExitWithErrorSignalHandler(int signal) { - const char msg[] = "\nThe setuid sandbox got signaled, exiting.\n"; - write(2, msg, sizeof(msg) - 1); - _exit(1); -} - // We will chroot() to the helper's /proc/self directory. Anything there will // not exist anymore if we make sure to wait() for the helper. // @@ -201,15 +195,6 @@ static void WaitForChildAndExit(pid_t child_pid) { int exit_code = -1; siginfo_t reaped_child_info; - // Don't "Core" on SIGABRT. SIGABRT is sent by the Chrome OS session manager - // when things are hanging. - // Here, the current process is going to waitid() and _exit(), so there is no - // point in generating a crash report. The child process is the one - // blocking us. - if (signal(SIGABRT, ExitWithErrorSignalHandler) == SIG_ERR) { - FatalError("Failed to change signal handler"); - } - int wait_ret = HANDLE_EINTR(waitid(P_PID, child_pid, &reaped_child_info, WEXITED)); |