diff options
author | Frank Ch. Eigler <fche@elastic.org> | 2010-03-18 08:45:16 -0400 |
---|---|---|
committer | Frank Ch. Eigler <fche@elastic.org> | 2010-03-18 08:45:16 -0400 |
commit | 7acbe85634102f8df073e149a01158d8dcdbf0ee (patch) | |
tree | 6c43332b0098aaf610f80006e5e3f0fd6127a804 | |
parent | 95ef3b3011e48bc1a5775c320d3bbc7b84853512 (diff) | |
download | systemtap-steved-7acbe85634102f8df073e149a01158d8dcdbf0ee.tar.gz systemtap-steved-7acbe85634102f8df073e149a01158d8dcdbf0ee.tar.xz systemtap-steved-7acbe85634102f8df073e149a01158d8dcdbf0ee.zip |
PR909: reject perf.* probes later
* tapset-perfmon.cxx (perf_builder::build): Check for CONFIG_PERF_EVENTS here.
(register_tapset_perf): ... instead of here.
-rw-r--r-- | tapset-perfmon.cxx | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/tapset-perfmon.cxx b/tapset-perfmon.cxx index 202834e7..81d6c2d7 100644 --- a/tapset-perfmon.cxx +++ b/tapset-perfmon.cxx @@ -196,6 +196,11 @@ perf_builder::build(systemtap_session & sess, literal_map_t const & parameters, vector<derived_probe *> & finished_results) { + // XXX need additional version checks too? + // --- perhaps look for export of perf_event_create_kernel_counter + if (sess.kernel_config["CONFIG_PERF_EVENTS"] != "y") + throw semantic_error ("perf probes not available without CONFIG_PERF_EVENTS"); + int64_t type; bool has_type = get_param(parameters, TOK_TYPE, type); assert(has_type); @@ -223,12 +228,6 @@ perf_builder::build(systemtap_session & sess, void register_tapset_perf(systemtap_session& s) { - // make sure we have support before registering anything - // XXX need additional version checks too? - // --- perhaps look for export of perf_event_create_kernel_counter - if (s.kernel_config["CONFIG_PERF_EVENTS"] != "y") - return; - // NB: at this point, the binding is *not* unprivileged. derived_probe_builder *builder = new perf_builder(); |