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

Unified Diff: sandbox/linux/seccomp-bpf/sandbox_bpf_policy.h

Issue 293463002: Add SandboxBPFPolicy::InvalidSyscall() to simplify writing policies (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: 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
Index: sandbox/linux/seccomp-bpf/sandbox_bpf_policy.h
diff --git a/sandbox/linux/seccomp-bpf/sandbox_bpf_policy.h b/sandbox/linux/seccomp-bpf/sandbox_bpf_policy.h
index 1ac5daba5d976b8bf9e2d933ff1be6ca90206ea9..fc6fdf6fe4f66609835e2760d9889a63b6a83763 100644
--- a/sandbox/linux/seccomp-bpf/sandbox_bpf_policy.h
+++ b/sandbox/linux/seccomp-bpf/sandbox_bpf_policy.h
@@ -6,6 +6,7 @@
#define SANDBOX_LINUX_SECCOMP_BPF_SANDBOX_BPF_POLICY_H_
#include "base/basictypes.h"
+#include "sandbox/sandbox_export.h"
namespace sandbox {
@@ -13,7 +14,7 @@ class ErrorCode;
class SandboxBPF;
// This is the interface to implement to define a BPF sandbox policy.
-class SandboxBPFPolicy {
+class SANDBOX_EXPORT SandboxBPFPolicy {
public:
SandboxBPFPolicy() {}
virtual ~SandboxBPFPolicy() {}
@@ -23,9 +24,14 @@ class SandboxBPFPolicy {
// it can deny the system call unconditionally by returning an appropriate
// "errno" value; or it can request inspection of system call argument(s) by
// returning a suitable ErrorCode.
+ // Will only be called for valid system call numbers.
virtual ErrorCode EvaluateSyscall(SandboxBPF* sandbox_compiler,
int system_call_number) const = 0;
+ // The InvalidSyscall method specifies the behavior used for invalid
+ // system calls. The default implementation is to return ENOSYS.
+ virtual ErrorCode InvalidSyscall(SandboxBPF* sandbox_compiler) const;
+
private:
DISALLOW_COPY_AND_ASSIGN(SandboxBPFPolicy);
};
« no previous file with comments | « sandbox/linux/seccomp-bpf/sandbox_bpf_compatibility_policy.h ('k') | sandbox/linux/seccomp-bpf/sandbox_bpf_policy.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698