1 // Copyright 2014 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.
5 #ifndef COMPONENTS_NACL_LOADER_NONSFI_NONSFI_SANDBOX_H_
6 #define COMPONENTS_NACL_LOADER_NONSFI_NONSFI_SANDBOX_H_
8 #include "base/basictypes.h"
9 #include "sandbox/linux/bpf_dsl/bpf_dsl_forward.h"
10 #include "sandbox/linux/bpf_dsl/policy.h"
15 // The seccomp sandbox policy for NaCl non-SFI mode. Note that this
16 // policy must be as strong as possible, as non-SFI mode heavily
17 // depends on seccomp sandbox.
18 class NaClNonSfiBPFSandboxPolicy
: public sandbox::bpf_dsl::Policy
{
20 explicit NaClNonSfiBPFSandboxPolicy() {}
21 ~NaClNonSfiBPFSandboxPolicy() override
{}
23 sandbox::bpf_dsl::ResultExpr
EvaluateSyscall(int sysno
) const override
;
24 sandbox::bpf_dsl::ResultExpr
InvalidSyscall() const override
;
27 DISALLOW_COPY_AND_ASSIGN(NaClNonSfiBPFSandboxPolicy
);
30 // Initializes seccomp-bpf sandbox for non-SFI NaCl. Returns false on
32 bool InitializeBPFSandbox();
37 #endif // COMPONENTS_NACL_LOADER_NONSFI_NONSFI_SANDBOX_H_