Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(124)

Unified Diff: components/nacl/loader/nonsfi/nonsfi_sandbox.cc

Issue 298163008: Non-SFI NaCl: Allow CLOCK_SYSTEM_TRACE on Chrome OS (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: comment update Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « base/time/time_posix.cc ('k') | components/nacl/loader/nonsfi/nonsfi_sandbox_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/nacl/loader/nonsfi/nonsfi_sandbox.cc
diff --git a/components/nacl/loader/nonsfi/nonsfi_sandbox.cc b/components/nacl/loader/nonsfi/nonsfi_sandbox.cc
index 7ffb20e68b16160997ee7190b612eaaad7b08a6f..ff17c62cb170453fd4daf456e00b6999ab926731 100644
--- a/components/nacl/loader/nonsfi/nonsfi_sandbox.cc
+++ b/components/nacl/loader/nonsfi/nonsfi_sandbox.cc
@@ -15,6 +15,7 @@
#include "base/basictypes.h"
#include "base/logging.h"
+#include "base/time/time.h"
#include "build/build_config.h"
#include "content/public/common/sandbox_init.h"
#include "sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h"
@@ -80,19 +81,26 @@ ErrorCode RestrictClockID(SandboxBPF* sb) {
// returned by {clock,pthread}_getcpuclockid), which can leak information
// about the state of the host OS.
COMPILE_ASSERT(4 == sizeof(clockid_t), clockid_is_not_32bit);
- return sb->Cond(0, ErrorCode::TP_32BIT,
- ErrorCode::OP_EQUAL, CLOCK_MONOTONIC,
- ErrorCode(ErrorCode::ERR_ALLOWED),
- sb->Cond(0, ErrorCode::TP_32BIT,
- ErrorCode::OP_EQUAL, CLOCK_PROCESS_CPUTIME_ID,
- ErrorCode(ErrorCode::ERR_ALLOWED),
- sb->Cond(0, ErrorCode::TP_32BIT,
- ErrorCode::OP_EQUAL, CLOCK_REALTIME,
- ErrorCode(ErrorCode::ERR_ALLOWED),
- sb->Cond(0, ErrorCode::TP_32BIT,
- ErrorCode::OP_EQUAL, CLOCK_THREAD_CPUTIME_ID,
- ErrorCode(ErrorCode::ERR_ALLOWED),
- sb->Trap(sandbox::CrashSIGSYS_Handler, NULL)))));
+ ErrorCode result = sb->Cond(0, ErrorCode::TP_32BIT,
+ ErrorCode::OP_EQUAL, CLOCK_MONOTONIC,
+ ErrorCode(ErrorCode::ERR_ALLOWED),
+ sb->Cond(0, ErrorCode::TP_32BIT,
+ ErrorCode::OP_EQUAL, CLOCK_PROCESS_CPUTIME_ID,
+ ErrorCode(ErrorCode::ERR_ALLOWED),
+ sb->Cond(0, ErrorCode::TP_32BIT,
+ ErrorCode::OP_EQUAL, CLOCK_REALTIME,
+ ErrorCode(ErrorCode::ERR_ALLOWED),
+ sb->Cond(0, ErrorCode::TP_32BIT,
+ ErrorCode::OP_EQUAL, CLOCK_THREAD_CPUTIME_ID,
+ ErrorCode(ErrorCode::ERR_ALLOWED),
+ sb->Trap(sandbox::CrashSIGSYS_Handler, NULL)))));
+#if defined(OS_CHROMEOS)
+ // Allow the special clock for Chrome OS used by Chrome tracing.
+ result = sb->Cond(0, ErrorCode::TP_32BIT,
+ ErrorCode::OP_EQUAL, base::TimeTicks::kClockSystemTrace,
+ ErrorCode(ErrorCode::ERR_ALLOWED), result);
+#endif
+ return result;
}
ErrorCode RestrictClone(SandboxBPF* sb) {
« no previous file with comments | « base/time/time_posix.cc ('k') | components/nacl/loader/nonsfi/nonsfi_sandbox_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698