| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/4008001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63421 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
code of a
renderer process that went away so that we can tell at the UI level
what happened to the tab: did it crash, or was it killed by the OOM
killer (or some other reason). This is in preparation for implementing
a new UI for when a process is killed by the OOM on ChromeOS which
handles it differently from a crash.
Most of the changes are modifications of the argument list to include
a status and error code for the exited process, but in addition the
following was done:
- Changed the name of DidProcessCrash to GetTerminationStatus.
- Added some new enum values to TerminationStatus enum (and named it)
in process_util.h, so it can be used as the status returned by
WhatHappenedToProcess.
- Improved process_util_unittest to actually test for crashing and
terminated processes on all platforms.
- Added a new notification for renderers that were killed.
- Added error code information to crash notification.
- Added status and error code information to renderer IPC message for
RenderViewGone.
- Added a UMA histogram count for number of renderer kills.
[This change was previously reviewed and LGTM'd:
http://codereview.chromium.org/3386014/show
but due to issues with "git cl push" was never committed to the tree.]
BUG=none
TEST=ran new unit test. Test passes on try servers.
Review URL: http://codereview.chromium.org/3869001
TBR=gspencer@chromium.org
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63074 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
renderer process that went away so that we can tell at the UI level
what happened to the tab: did it crash, or was it killed by the OOM
killer (or some other reason). This is in preparation for implementing
a new UI for when a process is killed by the OOM on ChromeOS which
handles it differently from a crash.
Most of the changes are modifications of the argument list to include
a status and error code for the exited process, but in addition the
following was done:
- Changed the name of DidProcessCrash to GetTerminationStatus.
- Added some new enum values to TerminationStatus enum (and named it)
in process_util.h, so it can be used as the status returned by
WhatHappenedToProcess.
- Improved process_util_unittest to actually test for crashing and
terminated processes on all platforms.
- Added a new notification for renderers that were killed.
- Added error code information to crash notification.
- Added status and error code information to renderer IPC message for
RenderViewGone.
- Added a UMA histogram count for number of renderer kills.
[This change was previously reviewed and LGTM'd:
http://codereview.chromium.org/3386014/show
but due to issues with "git cl push" was never committed to the tree.]
BUG=none
TEST=ran new unit test. Test passes on try servers.
Review URL: http://codereview.chromium.org/3869001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63067 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
METHOD_GET_CHILD_WITH_INODE fails.
BUG=none
TEST=fewer zombies.
Review URL: http://codereview.chromium.org/3416023
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60592 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We attempt to do this when recvmsg() returns 0, indicating EOF.
But man 7 unix also says we can get ECONNRESET, so accept that too.
TEST=run Chrome such that it exits quickly, e.g.
./out/Debug/chrome --try-chrome-again=10001
it should not print any zygote error messages.
Review URL: http://codereview.chromium.org/3387017
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60486 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
The previous trick (thread safe statics) is disabled via
compiler flags in our build.
BUG=54264
TEST=none
http://codereview.chromium.org/3412017
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60076 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use magic to init our 'localtime_r' wrapper.
(See bug for details.)
Patch-by: kcc (Chromium)
BUG=54264
TEST=none
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59956 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To build, set the clang=1 gyp_define.
This patch is the culmination of many months of effort and many
patches. It contains the minimal changes to Chrome that
are Clang-specific.
With this, I can build the "chrome" target. Once this patch
is in, we can incrementally fix bits of Chrome and various
tests and remove the Clang-specific workarounds.
Review URL: http://codereview.chromium.org/522020
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59882 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Change the child process to synchronise with the parent (the zygote)
so that the child does not fork further children while the zygote is
trying to discover the child's real PID from the SUID helper.
Split the logic for doing METHOD_GET_CHILD_WITH_INODE into a separate
function. Add a pipe for doing the synchronisation.
Now that the child synchronises, it can close dummy_fd.
BUG=55599
TEST=Tested manually with:
cd native_client && ./tools/httpd.py &
CHROME_DEVEL_SANDBOX=/opt/google/chrome/chrome-sandbox ./out/Debug/chrome-wrapper --enable-nacl --enable-seccomp-sandbox http://localhost:5103/tests/prebuilt/srpc_hw.html
Review URL: http://codereview.chromium.org/3391003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59634 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since this mostly worked before, this is just a matter of reordering
some "if" clauses.
Before this change, --enable-seccomp-sandbox would have the side
effect of disabling the SUID sandbox. The zygote would get run
through the SUID helper, but the zygote would never send the message
to turn the SUID sandbox on.
Change this so that --enable-seccomp-sandbox does not disable the SUID
sandbox.
BUG=55599
TEST=Tested manually with:
cd native_client && ./tools/httpd.py &
CHROME_DEVEL_SANDBOX=/opt/google/chrome/chrome-sandbox ./out/Debug/chrome-wrapper --enable-nacl --enable-seccomp-sandbox http://localhost:5103/tests/prebuilt/srpc_hw.html
Review URL: http://codereview.chromium.org/3449001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59630 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
(See bug for details.)
Patch-by: kcc (Chromium)
BUG=54264
TEST=none
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59512 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This means changes to the sandbox won't have to be committed twice, to
both trees.
This is a retry of r57921, which was committed with git-svn and failed
to remove the "seccomp" directory. This caused problems when trying
to "svn checkout" to the same location, and the change was reverted.
This time I will use SVN to commit the change.
BUG=none
TEST=smoke test of running chromium with --enable-seccomp-sandbox
Review URL: http://codereview.chromium.org/3225010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58184 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
just added notification_observer.h.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/3120021
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56824 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=49702
TEST=Integrated PDF plugin should work on Linux Chrome, and --register-pepper-plugins works on Linux even with sandbox enabled.
Review URL: http://codereview.chromium.org/3031011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53977 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/3068004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53969 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/2891016
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52575 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
(Idea from Julien Tinnes)
BUG=none
TEST=Navigate to about:sandbox on Linux and see the status of the sandbox.
http://codereview.chromium.org/2966003/show
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52176 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
Also need to uncomment pepper_plugin_registry.cc
Review URL: http://codereview.chromium.org/2804037
TBR=jam@chromium.org
Review URL: http://codereview.chromium.org/2968007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52165 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
| |
Also need to uncomment pepper_plugin_registry.cc
Review URL: http://codereview.chromium.org/2804037
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52161 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
No code changes.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52081 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
crash if the pdf plugin couldn't be loaded.
BUG=47362
TBR=thestig
Review URL: http://codereview.chromium.org/2852026
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50814 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/2817012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50066 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
| |
TBR=thakis@chromium.org
Review URL: http://codereview.chromium.org/2825006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50002 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
| |
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49982 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
BUG=46114
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49288 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=41970
http://codereview.chromium.org/1591039
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44913 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch removes the chromium_zygote_t type and adds a
chromium_renderer_t type. Also, a basic policy for chromium_renderer_t
is included.
I decided not to try to have a different policy for the zygote since
it just makes things more complex for little reason.
BUG=none
TEST=none
http://codereview.chromium.org/1104002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44908 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Generally, we don't expect it to fail and there isn't much we
can do anyway, but it's good to at least consider each case and
do something so we can continue to receive warnings in situations
where we forgot to check the return code.
(Bonus extra bugfix: use int where we previously had bool.
I think it compiles to the same thing but the old code was
definitely wrong.)
Review URL: http://codereview.chromium.org/1564037
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44844 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It seems the best way to keep the seccomp sandbox working is to have
everyone's development environment have it on by default. So we turn
on the seccomp sandbox, but only for non-official builds.
If the build-time flag is set: --disable-seccomp-sandbox turns it off.
If the build-time flag is *not* set: --enable-seccomp-sandbox turns it on.
BUG=36133
Review URL: http://codereview.chromium.org/1558003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43122 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Within the SUID sandbox, we IPC up to the browser process when
we need to open font files. We should do the same thing within
the seccomp sandbox. (Note that in test_shell and in SELinux,
which uses finer grained file access permissions, we don't
need to do such a thing.)
BUG=26522
Review URL: http://codereview.chromium.org/1541002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42986 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
(First of a series to improve our SELinux support)
http://codereview.chromium.org/1000008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41867 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
HandleForkRequest() returns to ChromeMain() multiple times, once per
fork(). Add comments to indicate this, because this type of control
flow is unusual.
HandleReapRequest() and HandleDidProcessCrash() never spawn a new
renderer, so remove the possibility that these can do "return true" to
do so.
Review URL: http://codereview.chromium.org/669065
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40894 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
sandbox/linux/suid/sandbox.c, in order to make the source more
greppable.
With inconsistent constant names it was harder to find who sends the
message that sandbox.c receives.
http://codereview.chromium.org/652108
(Patch from mseaborn@chromium.org)
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39793 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
This reverts commit r39358.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39359 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
This is an experiment. Hopefully it will flush out problems.
Use --disable-seccomp-sandbox to turn it off.
BUG=36133
Review URL: http://codereview.chromium.org/647017
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39358 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/608020
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39189 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
The seccomp sandbox is conditional on ARCH_CPU_X86_FAMILY. When
building for !ARCH_CPU_X86_FAMILY the variable g_proc_fd is
unused, leading to a build error when -Werror is turned on.
Review URL: http://codereview.chromium.org/397040
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32453 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
The seccomp sandbox is not built on ARM as it contains x86 specific code.
However, there are a pair of calls to seccomp sandbox functions in the zygote
initialisation, this hides those calls behind the ARCH_CPU_X86_FAMILY define.
Without this the ARM build does not link.
Review URL: http://codereview.chromium.org/402009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32278 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
already put a chroot() jail around it. The only tricky part is access
to /proc/self/maps, but we can safely pass in an open file descriptor.
BUG=26527
Review URL: http://codereview.chromium.org/371047
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31372 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
this feature, and if no other obstacle prevents us from enabling it.
Otherwise, we print a warning message and continue running without the sandbox.
This is not ideal, but given the non-trivial number of users who might not have
seccomp enabled by default, this seems the prudent approach.
BUG=26521
Review URL: http://codereview.chromium.org/341092
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30966 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The browser processes gets the real process ids, so they look correct in the task manager. When it asks the zygote to reap a process, we use the process ids internal to the sandbox.
While we are at it, reap the sandbox process after it clones the zygote and figure out zygote's actual process id. Save the actual process id rather than that of the sandbox.
Original review: http://codereview.chromium.org/262020
This is try 2 - initialize the sandbox host and zygote for InProcessBrowserTest.
TBR=agl
BUG=20012, 20714, 23072
TEST=Process IDs for renderers should be correct in the task manager and you should be able to use the end process button to kill them.
Review URL: http://codereview.chromium.org/361002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30948 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
suid sandbox. The browser processes gets the real process ids, so they look correct in the task manager. When it asks the zygote to reap a process, we use the process ids internal to the sandbox.
While we are at it, reap the sandbox process after it clones the zygote and figure out zygote's actual process id. Save the actual process id rather than that of the sandbox.
BUG=20012,20714,23072
TEST=Process IDs for renderers should be correct in the task manager and you should be able to use the end process button to kill them.
Review URL: http://codereview.chromium.org/262020
Review URL: http://codereview.chromium.org/359001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30939 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
The browser processes gets the real process ids, so they look correct in the task manager. When it asks the zygote to reap a process, we use the process ids internal to the sandbox.
While we are at it, reap the sandbox process after it clones the zygote and figure out zygote's actual process id. Save the actual process id rather than that of the sandbox.
BUG=20012,20714,23072
TEST=Process IDs for renderers should be correct in the task manager and you should be able to use the end process button to kill them.
Review URL: http://codereview.chromium.org/262020
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30938 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
I'm attempting to clean up CommandLine.
This change rearranges how initialization is done. I am trying
to eliminate redundant functions; more will come in subsequent changes.
Review URL: http://codereview.chromium.org/273018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28752 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
This is necessary to get the datetime formatting work correctly in a renderer process (e.g. FTP directory list that is now done in a renderer process.)
BUG=23361,23082
TEST=...
Review URL: http://codereview.chromium.org/243060
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27999 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds support for a selinux GYP variable which, when set to
one, does the following:
* Removes the seccomp sandbox from the compile
* Removes support for SUID sandboxing from the zygote
* Performs a dynamic transition, in the zygote, to
chromium_renderer_t.
This code requires that the system policy have a sensible set of
access vectors for the chromium_renderer_t type. Such a policy will be
found in sandbox/selinux in the future.
http://codereview.chromium.org/203071
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26257 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
correctly when using the zygote.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/196009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25877 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It appears that Nvidia's libGL.so is overriding dlopen/dlsym with
versions that don't fully function. So far, all the users reporting
this have been running Gentoo, but it might just be that they have
up-to-date drivers. The report[1] suggests that all drivers >= 180
have this issue.
[1] http://www.nvnews.net/vbulletin/showthread.php?t=132259
BUG=16800
http://codereview.chromium.org/201055
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25671 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Our current GOT patching code is platform specific and fails to work
when V8 is built as a library.
Instead we define global functions for those functions which we wish
to override. Since we will be first in the dynamic resolution order,
the dynamic linker will point callers to our versions of these
functions. However, we have the same binary for both the browser and
the renderers, which means that our overrides will apply in the
browser too.
The global |g_am_zygote_or_renderer| is true iff we are in a zygote or
renderer process. It's set in ZygoteMain and inherited by the
renderers when they fork. (This means that it'll be incorrect for
global constructor functions and before ZygoteMain is called -
beware).
Our replacement functions can check this global and either proxy the
call to the browser over the sandbox IPC
(http://code.google.com/p/chromium/wiki/LinuxSandboxIPC) or they can
use dlsym with RTLD_NEXT to resolve the symbol, ignoring any symbols
in the current module.
TEST=Run javascript:alert(new Date().getTimezoneOffset()). It shouldn't return 0 unless you're actually in GMT.
BUG=16800
http://codereview.chromium.org/165011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22636 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When using the sandbox, the renderer cannot load the ffmpeg shared
objects from disk. So we load them in the zygote before the sandbox is
started.
(Note that this doesn't get media working, but it's a start.)
BUG=18329
http://codereview.chromium.org/159841
(Note: relanding. Original landing in r22392, reverted in r22405 due
to check-deps failure.)
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22492 0039d316-1c4b-4281-b951-d872f2087c98
|