• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #include "content/common/sandbox_linux/sandbox_bpf_base_policy_linux.h"
6 
7 #include <errno.h>
8 
9 #include "base/logging.h"
10 #include "sandbox/linux/seccomp-bpf-helpers/baseline_policy.h"
11 
12 namespace content {
13 
14 namespace {
15 
16 // The errno used for denied file system access system calls, such as open(2).
17 static const int kFSDeniedErrno = EPERM;
18 
19 }  // namespace.
20 
SandboxBPFBasePolicy()21 SandboxBPFBasePolicy::SandboxBPFBasePolicy()
22     : baseline_policy_(new sandbox::BaselinePolicy(kFSDeniedErrno)) {}
~SandboxBPFBasePolicy()23 SandboxBPFBasePolicy::~SandboxBPFBasePolicy() {}
24 
EvaluateSyscall(SandboxBPF * sandbox_compiler,int system_call_number) const25 ErrorCode SandboxBPFBasePolicy::EvaluateSyscall(SandboxBPF* sandbox_compiler,
26                                                 int system_call_number) const {
27   DCHECK(baseline_policy_);
28   return baseline_policy_->EvaluateSyscall(sandbox_compiler,
29                                            system_call_number);
30 }
31 
PreSandboxHook()32 bool SandboxBPFBasePolicy::PreSandboxHook() {
33   return true;
34 }
35 
GetFSDeniedErrno()36 int SandboxBPFBasePolicy::GetFSDeniedErrno() {
37   return kFSDeniedErrno;
38 }
39 
40 }  // namespace content.
41