summaryrefslogtreecommitdiffstats
path: root/chrome/app
diff options
context:
space:
mode:
authormseaborn@chromium.org <mseaborn@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-06 06:00:13 +0000
committermseaborn@chromium.org <mseaborn@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-06 06:00:13 +0000
commit256ff9d0d45e439bb6f641dce50ecf9936e83d89 (patch)
tree934fda465eae473fb9287299bb84250ea3fb7e83 /chrome/app
parent3e6e82da372f9508e8819f84b03716b698fac2c8 (diff)
downloadchromium_src-256ff9d0d45e439bb6f641dce50ecf9936e83d89.zip
chromium_src-256ff9d0d45e439bb6f641dce50ecf9936e83d89.tar.gz
chromium_src-256ff9d0d45e439bb6f641dce50ecf9936e83d89.tar.bz2
Disable registration of Breakpad's signal handler for Native Client
This partially undoes r71459. This fixes a security vulnerability that occurs when the NaCl revision is updated to r4598 or later. That revision changes NaCl's sel_main_chrome.c so that it no longer registers a signal handler, but instead leaves Breakpad's signal handler (registered by Chrome) in place. The vulnerability would allow NaCl untrusted code to escape NaCl's inner sandbox on x86-32 Linux. This is because although NaCl's signal handler knows how to safely handle faults from NaCl x86-32 sandboxed code, Breakpad's signal handler does not. Breakpad's signal handler does not restore %gs. BUG=http://code.google.com/p/nativeclient/issues/detail?id=1607 TEST=assertion to be added on the NaCl side (http://codereview.chromium.org/6798008/) Review URL: http://codereview.chromium.org/6677168 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80581 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/app')
-rw-r--r--chrome/app/breakpad_linux.cc3
1 files changed, 1 insertions, 2 deletions
diff --git a/chrome/app/breakpad_linux.cc b/chrome/app/breakpad_linux.cc
index f51c137..7fd12bd 100644
--- a/chrome/app/breakpad_linux.cc
+++ b/chrome/app/breakpad_linux.cc
@@ -686,7 +686,7 @@ void EnableCrashDumping(const bool unattended) {
}
}
-// Currently Non-Browser = Renderer, Plugins, Native Client and Gpu
+// Currently Non-Browser = Renderer, Plugins and Gpu
static bool
NonBrowserCrashHandler(const void* crash_context, size_t crash_context_size,
void* context) {
@@ -788,7 +788,6 @@ void InitCrashReporter() {
} else if (process_type == switches::kRendererProcess ||
process_type == switches::kPluginProcess ||
process_type == switches::kZygoteProcess ||
- process_type == switches::kNaClLoaderProcess ||
process_type == switches::kGpuProcess) {
// We might be chrooted in a zygote or renderer process so we cannot call
// GetCollectStatsConsent because that needs access the the user's home