| Index: sandbox/linux/seccomp-bpf/errorcode.h
|
| diff --git a/sandbox/linux/seccomp-bpf/errorcode.h b/sandbox/linux/seccomp-bpf/errorcode.h
|
| index 2cc001c9cb52f2e1d37adc11faf94a6c5bd92b9a..a70be89580d332f7c183258f40d4095403c25f0d 100644
|
| --- a/sandbox/linux/seccomp-bpf/errorcode.h
|
| +++ b/sandbox/linux/seccomp-bpf/errorcode.h
|
| @@ -87,19 +87,11 @@ class SANDBOX_EXPORT ErrorCode {
|
| TP_64BIT,
|
| };
|
|
|
| + // Deprecated.
|
| enum Operation {
|
| // Test whether the system call argument is equal to the operand.
|
| OP_EQUAL,
|
|
|
| - // Test whether the system call argument is greater (or equal) to the
|
| - // operand. Please note that all tests always operate on unsigned
|
| - // values. You can generally emulate signed tests, if that's what you
|
| - // need.
|
| - // TODO(markus): Check whether we should automatically emulate signed
|
| - // operations.
|
| - OP_GREATER_UNSIGNED,
|
| - OP_GREATER_EQUAL_UNSIGNED,
|
| -
|
| // Tests a system call argument against a bit mask.
|
| // The "ALL_BITS" variant performs this test: "arg & mask == mask"
|
| // This implies that a mask of zero always results in a passing test.
|
| @@ -107,9 +99,6 @@ class SANDBOX_EXPORT ErrorCode {
|
| // This implies that a mask of zero always results in a failing test.
|
| OP_HAS_ALL_BITS,
|
| OP_HAS_ANY_BITS,
|
| -
|
| - // Total number of operations.
|
| - OP_NUM_OPS,
|
| };
|
|
|
| enum ErrorType {
|
| @@ -145,10 +134,10 @@ class SANDBOX_EXPORT ErrorCode {
|
|
|
| bool safe() const { return safe_; }
|
|
|
| + uint64_t mask() const { return mask_; }
|
| uint64_t value() const { return value_; }
|
| int argno() const { return argno_; }
|
| ArgType width() const { return width_; }
|
| - Operation op() const { return op_; }
|
| const ErrorCode* passed() const { return passed_; }
|
| const ErrorCode* failed() const { return failed_; }
|
|
|
| @@ -172,7 +161,7 @@ class SANDBOX_EXPORT ErrorCode {
|
| // allows us to specify additional constraints.
|
| ErrorCode(int argno,
|
| ArgType width,
|
| - Operation op,
|
| + uint64_t mask,
|
| uint64_t value,
|
| const ErrorCode* passed,
|
| const ErrorCode* failed);
|
| @@ -189,10 +178,10 @@ class SANDBOX_EXPORT ErrorCode {
|
|
|
| // Fields needed when inspecting additional arguments.
|
| struct {
|
| + uint64_t mask_; // Mask that we are comparing under.
|
| uint64_t value_; // Value that we are comparing with.
|
| int argno_; // Syscall arg number that we are inspecting.
|
| ArgType width_; // Whether we are looking at a 32/64bit value.
|
| - Operation op_; // Comparison operation.
|
| const ErrorCode* passed_; // Value to be returned if comparison passed,
|
| const ErrorCode* failed_; // or if it failed.
|
| };
|
|
|