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

Unified Diff: content/common/sandbox_linux/bpf_gpu_policy_linux.cc

Issue 299683004: Rewrite all BPF policies to use DSL API Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Overhaul of DSL and implementation 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: content/common/sandbox_linux/bpf_gpu_policy_linux.cc
diff --git a/content/common/sandbox_linux/bpf_gpu_policy_linux.cc b/content/common/sandbox_linux/bpf_gpu_policy_linux.cc
index e54cb210909d11b6ec2ee8cc3a3cbbe8564d4de8..0893627f29e04712e473dc76c099f9229648cd49 100644
--- a/content/common/sandbox_linux/bpf_gpu_policy_linux.cc
+++ b/content/common/sandbox_linux/bpf_gpu_policy_linux.cc
@@ -30,9 +30,8 @@
#include "sandbox/linux/services/broker_process.h"
#include "sandbox/linux/services/linux_syscalls.h"
+using namespace sandbox::bpf_dsl;
using sandbox::BrokerProcess;
-using sandbox::ErrorCode;
-using sandbox::SandboxBPF;
using sandbox::SyscallSets;
using sandbox::arch_seccomp_data;
@@ -115,8 +114,8 @@ class GpuBrokerProcessPolicy : public GpuProcessPolicy {
}
virtual ~GpuBrokerProcessPolicy() {}
- virtual ErrorCode EvaluateSyscall(SandboxBPF* sandbox_compiler,
- int system_call_number) const OVERRIDE;
+ virtual sandbox::bpf_dsl::ResultExpr EvaluateSyscall(
+ int sysno) const OVERRIDE;
private:
GpuBrokerProcessPolicy() {}
@@ -126,15 +125,14 @@ class GpuBrokerProcessPolicy : public GpuProcessPolicy {
// x86_64/i386 or desktop ARM.
// A GPU broker policy is the same as a GPU policy with open and
// openat allowed.
-ErrorCode GpuBrokerProcessPolicy::EvaluateSyscall(SandboxBPF* sandbox,
- int sysno) const {
+ResultExpr GpuBrokerProcessPolicy::EvaluateSyscall(int sysno) const {
switch (sysno) {
case __NR_access:
case __NR_open:
case __NR_openat:
- return ErrorCode(ErrorCode::ERR_ALLOWED);
+ return Allow();
default:
- return GpuProcessPolicy::EvaluateSyscall(sandbox, sysno);
+ return GpuProcessPolicy::EvaluateSyscall(sysno);
}
}
@@ -167,8 +165,7 @@ GpuProcessPolicy::GpuProcessPolicy() : broker_process_(NULL) {}
GpuProcessPolicy::~GpuProcessPolicy() {}
// Main policy for x86_64/i386. Extended by CrosArmGpuProcessPolicy.
-ErrorCode GpuProcessPolicy::EvaluateSyscall(SandboxBPF* sandbox,
- int sysno) const {
+ResultExpr GpuProcessPolicy::EvaluateSyscall(int sysno) const {
switch (sysno) {
case __NR_ioctl:
#if defined(__i386__) || defined(__x86_64__)
@@ -182,18 +179,18 @@ ErrorCode GpuProcessPolicy::EvaluateSyscall(SandboxBPF* sandbox,
case __NR_sched_getaffinity:
case __NR_sched_setaffinity:
case __NR_setpriority:
- return ErrorCode(ErrorCode::ERR_ALLOWED);
+ return Allow();
case __NR_access:
case __NR_open:
case __NR_openat:
DCHECK(broker_process_);
- return sandbox->Trap(GpuSIGSYS_Handler, broker_process_);
+ return Trap(GpuSIGSYS_Handler, broker_process_);
default:
if (SyscallSets::IsEventFd(sysno))
- return ErrorCode(ErrorCode::ERR_ALLOWED);
+ return Allow();
// Default on the baseline policy.
- return SandboxBPFBasePolicy::EvaluateSyscall(sandbox, sysno);
+ return SandboxBPFBasePolicy::EvaluateSyscall(sysno);
}
}
« no previous file with comments | « content/common/sandbox_linux/bpf_gpu_policy_linux.h ('k') | content/common/sandbox_linux/bpf_ppapi_policy_linux.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698