summaryrefslogtreecommitdiffstats
path: root/runtime/staprun/staprun.h
diff options
context:
space:
mode:
authorDave Brolley <brolley@redhat.com>2009-11-09 14:50:52 -0500
committerDave Brolley <brolley@redhat.com>2009-11-09 14:50:52 -0500
commit64211010978d0e35c80ec7c119f1986a48f97543 (patch)
tree4a9d67ed8f7682cf8eb61686709fd69341394e63 /runtime/staprun/staprun.h
parent5e90af3e298ae39838acedf85f1301806143e920 (diff)
downloadsystemtap-steved-64211010978d0e35c80ec7c119f1986a48f97543.tar.gz
systemtap-steved-64211010978d0e35c80ec7c119f1986a48f97543.tar.xz
systemtap-steved-64211010978d0e35c80ec7c119f1986a48f97543.zip
Don't reference global variable modpath in insert_module and its helpers.
This allows insert_module to to be used for loading the signed uprobes.ko module. Allow the use of $$parms and $$return in uprobes based probes for unprivileged users. Re-add management of module signatures in the cache. Don't know why it was removed.
Diffstat (limited to 'runtime/staprun/staprun.h')
-rw-r--r--runtime/staprun/staprun.h22
1 files changed, 21 insertions, 1 deletions
diff --git a/runtime/staprun/staprun.h b/runtime/staprun/staprun.h
index 9cdbc861..91761bde 100644
--- a/runtime/staprun/staprun.h
+++ b/runtime/staprun/staprun.h
@@ -131,8 +131,28 @@ time_t read_backlog(int cpu, int fnum);
/* staprun_funcs.c */
void setup_staprun_signals(void);
const char *moderror(int err);
+
+/* insert_module helper functions. */
+typedef void (*assert_permissions_func) (
+ const char *module_path __attribute__ ((unused)),
+ const void *module_data __attribute__ ((unused)),
+ off_t module_size __attribute__ ((unused))
+);
+
+void assert_stap_module_permissions (
+ const char *module_path __attribute__ ((unused)),
+ const void *module_data __attribute__ ((unused)),
+ off_t module_size __attribute__ ((unused))
+);
+
+void assert_uprobes_module_permissions (
+ const char *module_path __attribute__ ((unused)),
+ const void *module_data __attribute__ ((unused)),
+ off_t module_size __attribute__ ((unused))
+);
int insert_module(const char *path, const char *special_options,
- char **options);
+ char **options, assert_permissions_func apf);
+
int mountfs(void);
void start_symbol_thread(void);
void stop_symbol_thread(void);