Implement PID tracking for kernel tracing
[lttng-tools.git] / src / bin / lttng / lttng.c
index 154f6df6b5e31e16d54e275e183290dd61775b33..13c77321eb1a208544161e7317f9ad8e0379344a 100644 (file)
@@ -30,6 +30,7 @@
 
 #include <lttng/lttng.h>
 #include <common/error.h>
+#include <common/compat/getenv.h>
 
 #include "command.h"
 
@@ -84,6 +85,8 @@ static struct cmd_struct commands[] =  {
        { "snapshot", cmd_snapshot},
        { "save", cmd_save},
        { "load", cmd_load},
+       { "track", cmd_track},
+       { "untrack", cmd_untrack},
        { NULL, NULL}   /* Array closure */
 };
 
@@ -125,6 +128,8 @@ static void usage(FILE *ofp)
        fprintf(ofp, "    view              Start trace viewer\n");
        fprintf(ofp, "    save              Save session configuration\n");
        fprintf(ofp, "    load              Load session configuration\n");
+       fprintf(ofp, "    track             Track specific system resources\n");
+       fprintf(ofp, "    untrack           Untrack specific system resources\n");
        fprintf(ofp, "\n");
        fprintf(ofp, "Each command also has its own -h, --help option.\n");
        fprintf(ofp, "\n");
@@ -445,6 +450,11 @@ static int parse_args(int argc, char **argv)
        int opt, ret;
        char *user;
 
+       if (lttng_is_setuid_setgid()) {
+               ERR("'%s' is not allowed to be executed as a setuid/setgid binary for security reasons. Aborting.", argv[0]);
+               clean_exit(EXIT_FAILURE);
+       }
+
        if (argc < 2) {
                usage(stderr);
                clean_exit(EXIT_FAILURE);
This page took 0.024712 seconds and 5 git commands to generate.