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

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

Issue 935743003: bpf_dsl: move Verifier into PolicyCompiler (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 10 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/verifier.h
diff --git a/sandbox/linux/seccomp-bpf/verifier.h b/sandbox/linux/seccomp-bpf/verifier.h
deleted file mode 100644
index 50efe64dc0fefad110cd5a56c931b26e03b8b368..0000000000000000000000000000000000000000
--- a/sandbox/linux/seccomp-bpf/verifier.h
+++ /dev/null
@@ -1,56 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef SANDBOX_LINUX_SECCOMP_BPF_VERIFIER_H__
-#define SANDBOX_LINUX_SECCOMP_BPF_VERIFIER_H__
-
-#include <stdint.h>
-
-#include <vector>
-
-#include "base/macros.h"
-#include "sandbox/sandbox_export.h"
-
-struct sock_filter;
-
-namespace sandbox {
-struct arch_seccomp_data;
-namespace bpf_dsl {
-class Policy;
-class PolicyCompiler;
-}
-
-class SANDBOX_EXPORT Verifier {
- public:
- // Evaluate the BPF program for all possible inputs and verify that it
- // computes the correct result. We use the "evaluators" to determine
- // the full set of possible inputs that we have to iterate over.
- // Returns success, if the BPF filter accurately reflects the rules
- // set by the "evaluators".
- // Upon success, "err" is set to NULL. Upon failure, it contains a static
- // error message that does not need to be free()'d.
- static bool VerifyBPF(bpf_dsl::PolicyCompiler* compiler,
- const std::vector<struct sock_filter>& program,
- const bpf_dsl::Policy& policy,
- const char** err);
-
- // Evaluate a given BPF program for a particular set of system call
- // parameters. If evaluation failed for any reason, "err" will be set to
- // a non-NULL error string. Otherwise, the BPF program's result will be
- // returned by the function and "err" is NULL.
- // We do not actually implement the full BPF state machine, but only the
- // parts that can actually be generated by our BPF compiler. If this code
- // is used for purposes other than verifying the output of the sandbox's
- // BPF compiler, we might have to extend this BPF interpreter.
- static uint32_t EvaluateBPF(const std::vector<struct sock_filter>& program,
- const struct arch_seccomp_data& data,
- const char** err);
-
- private:
- DISALLOW_IMPLICIT_CONSTRUCTORS(Verifier);
-};
-
-} // namespace sandbox
-
-#endif // SANDBOX_LINUX_SECCOMP_BPF_VERIFIER_H__

Powered by Google App Engine
This is Rietveld 408576698