| Index: sandbox/linux/seccomp-bpf/sandbox_bpf.h
|
| diff --git a/sandbox/linux/seccomp-bpf/sandbox_bpf.h b/sandbox/linux/seccomp-bpf/sandbox_bpf.h
|
| index 72e17b2fd6598316f1aeb467c0ef19dc50b58daa..ae412c6b1afcb894773ae1c130326e7928284f54 100644
|
| --- a/sandbox/linux/seccomp-bpf/sandbox_bpf.h
|
| +++ b/sandbox/linux/seccomp-bpf/sandbox_bpf.h
|
| @@ -26,15 +26,15 @@
|
| namespace playground2 {
|
|
|
| struct arch_seccomp_data {
|
| - int nr;
|
| + int nr;
|
| uint32_t arch;
|
| uint64_t instruction_pointer;
|
| uint64_t args[6];
|
| };
|
|
|
| struct arch_sigsys {
|
| - void *ip;
|
| - int nr;
|
| + void* ip;
|
| + int nr;
|
| unsigned int arch;
|
| };
|
|
|
| @@ -61,7 +61,7 @@ class Sandbox {
|
| // pointer. One common use case would be to pass the "aux" pointer as an
|
| // argument to Trap() functions.
|
| typedef BpfSandboxPolicy* EvaluateSyscall;
|
| - typedef std::vector<std::pair<EvaluateSyscall, void *> >Evaluators;
|
| + typedef std::vector<std::pair<EvaluateSyscall, void*> > Evaluators;
|
|
|
| // A vector of BPF instructions that need to be installed as a filter
|
| // program in the kernel.
|
| @@ -111,7 +111,7 @@ class Sandbox {
|
| // valid for the entire time that Trap() handlers can be called; typically,
|
| // this would be the lifetime of the program.
|
| // DEPRECATED: use the policy interface below.
|
| - void SetSandboxPolicyDeprecated(EvaluateSyscall syscallEvaluator, void *aux);
|
| + void SetSandboxPolicyDeprecated(EvaluateSyscall syscallEvaluator, void* aux);
|
|
|
| // Set the BPF policy as |policy|. Ownership of |policy| is transfered here
|
| // to the sandbox object.
|
| @@ -123,7 +123,7 @@ class Sandbox {
|
| // The "aux" field can carry a pointer to arbitrary data. See EvaluateSyscall
|
| // for a description of how to pass data from SetSandboxPolicy() to a Trap()
|
| // handler.
|
| - ErrorCode Trap(Trap::TrapFnc fnc, const void *aux);
|
| + ErrorCode Trap(Trap::TrapFnc fnc, const void* aux);
|
|
|
| // Calls a user-space trap handler and disables all sandboxing for system
|
| // calls made from this trap handler.
|
| @@ -135,7 +135,7 @@ class Sandbox {
|
| // very useful to diagnose code that is incompatible with the sandbox.
|
| // If even a single system call returns "UnsafeTrap", the security of
|
| // entire sandbox should be considered compromised.
|
| - ErrorCode UnsafeTrap(Trap::TrapFnc fnc, const void *aux);
|
| + ErrorCode UnsafeTrap(Trap::TrapFnc fnc, const void* aux);
|
|
|
| // From within an UnsafeTrap() it is often useful to be able to execute
|
| // the system call that triggered the trap. The ForwardSyscall() method
|
| @@ -157,13 +157,15 @@ class Sandbox {
|
| // If it is outside this range, the sandbox treats the system call just
|
| // the same as any other ABI violation (i.e. it aborts with an error
|
| // message).
|
| - ErrorCode Cond(int argno, ErrorCode::ArgType is_32bit,
|
| + ErrorCode Cond(int argno,
|
| + ErrorCode::ArgType is_32bit,
|
| ErrorCode::Operation op,
|
| - uint64_t value, const ErrorCode& passed,
|
| + uint64_t value,
|
| + const ErrorCode& passed,
|
| const ErrorCode& failed);
|
|
|
| // Kill the program and print an error message.
|
| - ErrorCode Kill(const char *msg);
|
| + ErrorCode Kill(const char* msg);
|
|
|
| // This is the main public entry point. It finds all system calls that
|
| // need rewriting, sets up the resources needed by the sandbox, and
|
| @@ -186,7 +188,7 @@ class Sandbox {
|
| // through the verifier, iff the program was built in debug mode.
|
| // But by setting "force_verification", the caller can request that the
|
| // verifier is run unconditionally. This is useful for unittests.
|
| - Program *AssembleFilter(bool force_verification);
|
| + Program* AssembleFilter(bool force_verification);
|
|
|
| // Returns the fatal ErrorCode that is used to indicate that somebody
|
| // attempted to pass a 64bit value in a 32bit system call argument.
|
| @@ -200,11 +202,8 @@ class Sandbox {
|
|
|
| struct Range {
|
| Range(uint32_t f, uint32_t t, const ErrorCode& e)
|
| - : from(f),
|
| - to(t),
|
| - err(e) {
|
| - }
|
| - uint32_t from, to;
|
| + : from(f), to(t), err(e) {}
|
| + uint32_t from, to;
|
| ErrorCode err;
|
| };
|
| typedef std::vector<Range> Ranges;
|
| @@ -218,7 +217,8 @@ class Sandbox {
|
| // policy. The caller has to make sure that "this" has not yet been
|
| // initialized with any other policies.
|
| bool RunFunctionInPolicy(void (*code_in_sandbox)(),
|
| - EvaluateSyscall syscall_evaluator, void *aux);
|
| + EvaluateSyscall syscall_evaluator,
|
| + void* aux);
|
|
|
| // Performs a couple of sanity checks to verify that the kernel supports the
|
| // features that we need for successful sandboxing.
|
| @@ -242,11 +242,11 @@ class Sandbox {
|
| // sorted in ascending order of system call numbers. There are no gaps in the
|
| // ranges. System calls with identical ErrorCodes are coalesced into a single
|
| // range.
|
| - void FindRanges(Ranges *ranges);
|
| + void FindRanges(Ranges* ranges);
|
|
|
| // Returns a BPF program snippet that implements a jump table for the
|
| // given range of system call numbers. This function runs recursively.
|
| - Instruction *AssembleJumpTable(CodeGen *gen,
|
| + Instruction* AssembleJumpTable(CodeGen* gen,
|
| Ranges::const_iterator start,
|
| Ranges::const_iterator stop);
|
|
|
| @@ -255,13 +255,13 @@ class Sandbox {
|
| // conditional expression; if so, this function will recursively call
|
| // CondExpression() and possibly RetExpression() to build a complex set of
|
| // instructions.
|
| - Instruction *RetExpression(CodeGen *gen, const ErrorCode& err);
|
| + Instruction* RetExpression(CodeGen* gen, const ErrorCode& err);
|
|
|
| // Returns a BPF program that evaluates the conditional expression in
|
| // "cond" and returns the appropriate value from the BPF filter program.
|
| // This function recursively calls RetExpression(); it should only ever be
|
| // called from RetExpression().
|
| - Instruction *CondExpression(CodeGen *gen, const ErrorCode& cond);
|
| + Instruction* CondExpression(CodeGen* gen, const ErrorCode& cond);
|
|
|
| static SandboxStatus status_;
|
|
|
|
|