summaryrefslogtreecommitdiffstats
path: root/runtime/staprun/staprun.c
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/staprun/staprun.c')
-rw-r--r--runtime/staprun/staprun.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/runtime/staprun/staprun.c b/runtime/staprun/staprun.c
index 9d647675..b568c867 100644
--- a/runtime/staprun/staprun.c
+++ b/runtime/staprun/staprun.c
@@ -242,6 +242,15 @@ int main(int argc, char **argv)
exit(-1);
}
+ if (getuid() != 0) {
+ rc = unsetenv("SYSTEMTAP_STAPRUN") ||
+ unsetenv("SYSTEMTAP_STAPIO");
+ if (rc) {
+ _perr("unsetenv failed");
+ exit(-1);
+ }
+ }
+
setup_signals();
parse_args(argc, argv);
@@ -283,7 +292,7 @@ int main(int argc, char **argv)
if (init_staprun())
exit(1);
- argv[0] = PKGLIBDIR "/stapio";
+ argv[0] = getenv ("SYSTEMTAP_STAPIO") ?: PKGLIBDIR "/stapio";
if (run_as (1, getuid(), getgid(), argv[0], argv) < 0) {
perror(argv[0]);
goto err;
@@ -473,4 +482,3 @@ int send_relocations ()
out:
return rc;
}
-