Chromium Code Reviews| 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 74f9871fc30a92c8cd3abca5527c5ebb896937d1..83e07acb3ee86f45e1a719bcf497e39d3ce408fb 100644 |
| --- a/content/common/sandbox_linux/bpf_gpu_policy_linux.cc |
| +++ b/content/common/sandbox_linux/bpf_gpu_policy_linux.cc |
| @@ -169,14 +169,29 @@ bool UpdateProcessTypeAndEnableSandbox(sandbox::bpf_dsl::SandboxBPFDSLPolicy* ( |
| } // namespace |
| -GpuProcessPolicy::GpuProcessPolicy() : broker_process_(NULL) {} |
| +GpuProcessPolicy::GpuProcessPolicy() : GpuProcessPolicy(false) { |
| +} |
| + |
| +GpuProcessPolicy::GpuProcessPolicy(bool allow_mincore) |
| + : broker_process_(NULL), allow_mincore_(allow_mincore) { |
| +} |
| GpuProcessPolicy::~GpuProcessPolicy() {} |
| // Main policy for x86_64/i386. Extended by CrosArmGpuProcessPolicy. |
| ResultExpr GpuProcessPolicy::EvaluateSyscall(int sysno) const { |
| switch (sysno) { |
| + case __NR_access: |
|
Jorge Lucangeli Obes
2014/10/20 19:52:59
While we order things mostly alphabetically, we do
|
| + DCHECK(broker_process_); |
| + return Trap(GpuSIGSYS_Handler, broker_process_); |
| case __NR_ioctl: |
| + return Allow(); |
| + case __NR_mincore: |
| + if (allow_mincore_) { |
| + return Allow(); |
| + } else { |
| + return SandboxBPFBasePolicy::EvaluateSyscall(sysno); |
| + } |
| #if defined(__i386__) || defined(__x86_64__) || defined(__mips__) |
| // The Nvidia driver uses flags not in the baseline policy |
| // (MAP_LOCKED | MAP_EXECUTABLE | MAP_32BIT) |
| @@ -188,7 +203,6 @@ ResultExpr GpuProcessPolicy::EvaluateSyscall(int sysno) const { |
| // TODO(jln): restrict prctl. |
| case __NR_prctl: |
| return Allow(); |
| - case __NR_access: |
| case __NR_open: |
| case __NR_openat: |
| DCHECK(broker_process_); |