Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / sandbox / linux / seccomp-bpf-helpers / baseline_policy.h
index 8f842f0..4169d9c 100644 (file)
@@ -5,7 +5,8 @@
 #ifndef SANDBOX_LINUX_SECCOMP_BPF_HELPERS_BASELINE_POLICY_H_
 #define SANDBOX_LINUX_SECCOMP_BPF_HELPERS_BASELINE_POLICY_H_
 
-#include "sandbox/linux/bpf_dsl/bpf_dsl.h"
+#include "sandbox/linux/bpf_dsl/bpf_dsl_forward.h"
+#include "sandbox/linux/bpf_dsl/policy.h"
 #include "sandbox/sandbox_export.h"
 
 namespace sandbox {
@@ -14,28 +15,31 @@ namespace sandbox {
 // that reduces the Linux kernel's attack surface. Given its nature, it doesn't
 // have a clear semantics and is mostly "implementation-defined".
 //
-// This class implements the SandboxBPFDSLPolicy interface with a "baseline"
+// This class implements the Policy interface with a "baseline"
 // policy for use within Chromium.
 // The "baseline" policy is somewhat arbitrary. All Chromium policies are an
 // alteration of it, and it represents a reasonable common ground to run most
 // code in a sandboxed environment.
 // A baseline policy is only valid for the process for which this object was
 // instantiated (so do not fork() and use it in a child).
-class SANDBOX_EXPORT BaselinePolicy : public bpf_dsl::SandboxBPFDSLPolicy {
+class SANDBOX_EXPORT BaselinePolicy : public bpf_dsl::Policy {
  public:
   BaselinePolicy();
   // |fs_denied_errno| is the errno returned when a filesystem access system
   // call is denied.
   explicit BaselinePolicy(int fs_denied_errno);
-  virtual ~BaselinePolicy();
+  ~BaselinePolicy() override;
 
-  virtual bpf_dsl::ResultExpr EvaluateSyscall(
-      int system_call_number) const OVERRIDE;
-  virtual bpf_dsl::ResultExpr InvalidSyscall() const OVERRIDE;
+  bpf_dsl::ResultExpr EvaluateSyscall(int system_call_number) const override;
+  bpf_dsl::ResultExpr InvalidSyscall() const override;
+  pid_t policy_pid() const { return policy_pid_; }
 
  private:
   int fs_denied_errno_;
-  pid_t current_pid_;
+
+  // The PID that the policy applies to (should be equal to the current pid).
+  pid_t policy_pid_;
+
   DISALLOW_COPY_AND_ASSIGN(BaselinePolicy);
 };