summaryrefslogtreecommitdiffstats
path: root/runtime
diff options
context:
space:
mode:
Diffstat (limited to 'runtime')
-rw-r--r--runtime/staprun/staprun.c8
-rw-r--r--runtime/uprobes/Makefile9
2 files changed, 11 insertions, 6 deletions
diff --git a/runtime/staprun/staprun.c b/runtime/staprun/staprun.c
index c5651d9a..1cedc9f0 100644
--- a/runtime/staprun/staprun.c
+++ b/runtime/staprun/staprun.c
@@ -129,14 +129,12 @@ static int enable_uprobes(void)
if (run_as(0, 0, 0, argv[0], argv) == 0)
return 0;
+ /* This module may be signed, so use insert_module to load it. */
snprintf (runtimeko, sizeof(runtimeko), "%s/uprobes/uprobes.ko",
(getenv("SYSTEMTAP_RUNTIME") ?: PKGDATADIR "/runtime"));
dbug(2, "Inserting uprobes module from SystemTap runtime %s.\n", runtimeko);
- i = 0;
- argv[i++] = "/sbin/insmod";
- argv[i++] = runtimeko;
- argv[i] = NULL;
- if (run_as(0, 0, 0, argv[0], argv) == 0)
+ argv[0] = NULL;
+ if (insert_module(runtimeko, NULL, argv) == 0)
return 0;
return 1; /* failure */
diff --git a/runtime/uprobes/Makefile b/runtime/uprobes/Makefile
index a9630e5a..4ab637e2 100644
--- a/runtime/uprobes/Makefile
+++ b/runtime/uprobes/Makefile
@@ -7,12 +7,19 @@ DEPENDENCIES += Makefile
default:
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
+ if test -f ../../../../bin/stap-sign-module; then \
+ for f in *.ko; do \
+ if test ! -e $$f.sgn -o $$f.sgn -ot $$f; then \
+ ../../../../bin/stap-sign-module $$f ../../../../etc/systemtap/ssl/server; \
+ fi \
+ done \
+ fi
# This target is used with "make -q" to see whether a "real" build is needed.
uprobes.ko: $(DEPENDENCIES)
@echo uprobes.ko is not a valid target. See Makefile.
clean:
- rm -f *.mod.c *.ko *.o .*.cmd *~
+ rm -f *.mod.c *.ko *.o .*.cmd *~ *.sgn
rm -f Module.markers modules.order Module.symvers
rm -rf .tmp_versions