diff options
author | markus@chromium.org <markus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-30 22:17:35 +0000 |
---|---|---|
committer | markus@chromium.org <markus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-30 22:17:35 +0000 |
commit | 28af78c4ea3cdeaa959ded5c3bf29d707012774a (patch) | |
tree | 13739bfdb4f5dbbb300abd3448ce89d64ffbc1e9 /sandbox/sandbox.gyp | |
parent | e3b4a132b40d90b5a60f83d9b3eb415cfc85cd35 (diff) | |
download | chromium_src-28af78c4ea3cdeaa959ded5c3bf29d707012774a.zip chromium_src-28af78c4ea3cdeaa959ded5c3bf29d707012774a.tar.gz chromium_src-28af78c4ea3cdeaa959ded5c3bf29d707012774a.tar.bz2 |
Calling clone(CLONE_NEWPID) results in the new pid namespace getting a new "init" process.
This process is now resposible for reaping all child processes that no longer have a
direct parent process.
Often, failure to do this goes unnoticed, because our sandbox'd processes don't often
fork other processes that then continue to turn into daemon processes. But there is no
reason, why they couldn't occasionally do so. And in fact, the seccomp sandbox does do
so for its trusted process.
In the past, this would result in us having lots of uncollected zombie processes that
only disappeared when the browser terminated.
BUG=109944
TEST=Run Chrome with both the suid sandbox and the seccomp sandbox, open and close a few tabs, verify that we don't produce any zombie processes
Review URL: https://chromiumcodereview.appspot.com/9295005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@119746 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'sandbox/sandbox.gyp')
-rw-r--r-- | sandbox/sandbox.gyp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sandbox/sandbox.gyp b/sandbox/sandbox.gyp index f7ebcd7..4224019 100644 --- a/sandbox/sandbox.gyp +++ b/sandbox/sandbox.gyp @@ -155,6 +155,8 @@ 'target_name': 'chrome_sandbox', 'type': 'executable', 'sources': [ + 'linux/suid/init_process.c', + 'linux/suid/init_process.h', 'linux/suid/linux_util.c', 'linux/suid/linux_util.h', 'linux/suid/process_util.h', |