summaryrefslogtreecommitdiffstats
path: root/runtime/staprun/staprun.c
diff options
context:
space:
mode:
authorDave Brolley <brolley@redhat.com>2009-11-05 14:52:56 -0500
committerDave Brolley <brolley@redhat.com>2009-11-05 14:52:56 -0500
commita0fc7f8e96d3818a963ad41aa5043d2a5bbcb9e5 (patch)
tree37ef7bd65bf563fb88d0cb5ef34227fed324ef31 /runtime/staprun/staprun.c
parent5807ac6473b47074cd90f93f5b1b3c3eb452fed9 (diff)
downloadsystemtap-steved-a0fc7f8e96d3818a963ad41aa5043d2a5bbcb9e5.tar.gz
systemtap-steved-a0fc7f8e96d3818a963ad41aa5043d2a5bbcb9e5.tar.xz
systemtap-steved-a0fc7f8e96d3818a963ad41aa5043d2a5bbcb9e5.zip
PR 9973: Sign uprobes.ko when it is created and load it using insert_module.
Create home directory manually for stap-server.
Diffstat (limited to 'runtime/staprun/staprun.c')
-rw-r--r--runtime/staprun/staprun.c8
1 files changed, 3 insertions, 5 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 */