diff options
author | Dave Brolley <brolley@redhat.com> | 2009-11-09 14:50:52 -0500 |
---|---|---|
committer | Dave Brolley <brolley@redhat.com> | 2009-11-09 14:50:52 -0500 |
commit | 64211010978d0e35c80ec7c119f1986a48f97543 (patch) | |
tree | 4a9d67ed8f7682cf8eb61686709fd69341394e63 /runtime/staprun/staprun.h | |
parent | 5e90af3e298ae39838acedf85f1301806143e920 (diff) | |
download | systemtap-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.h | 22 |
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); |