Fix: tests: gen-ust-events-ns: Uninitialized argument value
[lttng-tools.git] / tests / utils / testapp / gen-ust-events-ns / gen-ust-events-ns.c
index 58a2066322ac79ed3695cc4382bc62bcac3fd478..2a3c7a45f38a4e713ed6c963610787367b2ba611 100644 (file)
@@ -1,18 +1,8 @@
 /*
  * Copyright (C) 2019 Michael Jeanson <mjeanson@efficios.com>
  *
- * This library is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as published by the
- * Free Software Foundation; version 2.1 of the License.
+ * SPDX-License-Identifier: LGPL-2.1-only
  *
- * This library is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this library; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA
  */
 
 #ifndef _GNU_SOURCE
 
 #define LTTNG_PROC_NS_PATH_MAX 40
 
+/*
+ * The runner of this test validates that the kernel supports the
+ * namespace for which it is invoked. However, these defines are added
+ * to allow tests to run on systems that support a given namespace,
+ * but that use a libc that doesn't define its associated clone flag.
+ */
+#ifndef CLONE_NEWNS
+#define CLONE_NEWNS     0x00020000
+#endif
+#ifndef CLONE_NEWCGROUP
+#define CLONE_NEWCGROUP 0x02000000
+#endif
+#ifndef CLONE_NEWUTS
+#define CLONE_NEWUTS    0x04000000
+#endif
+#ifndef CLONE_NEWIPC
+#define CLONE_NEWIPC    0x08000000
+#endif
+#ifndef CLONE_NEWUSER
+#define CLONE_NEWUSER   0x10000000
+#endif
+#ifndef CLONE_NEWPID
+#define CLONE_NEWPID    0x20000000
+#endif
+#ifndef CLONE_NEWNET
+#define CLONE_NEWNET    0x40000000
+#endif
+
 static int nr_iter = 100;
 static int debug = 0;
 static char *ns_opt = NULL;
@@ -70,7 +88,7 @@ static void debug_printf(const char *format, ...)
 
 static int get_ns_inum(const char *ns, ino_t *ns_inum)
 {
-       int ret = 0;
+       int ret = -1;
        struct stat sb;
        char proc_ns_path[LTTNG_PROC_NS_PATH_MAX];
 
@@ -81,8 +99,7 @@ static int get_ns_inum(const char *ns, ino_t *ns_inum)
                        "/proc/thread-self/ns/%s", ns) >= 0) {
                if (stat(proc_ns_path, &sb) == 0) {
                        *ns_inum = sb.st_ino;
-               } else {
-                       ret = -1;
+                       ret = 0;
                }
                goto end;
        }
@@ -91,8 +108,7 @@ static int get_ns_inum(const char *ns, ino_t *ns_inum)
                        "/proc/self/task/%d/%s/net", lttng_gettid(), ns) >= 0) {
                if (stat(proc_ns_path, &sb) == 0) {
                        *ns_inum = sb.st_ino;
-               } else {
-                       ret = -1;
+                       ret = 0;
                }
                goto end;
        }
This page took 0.052696 seconds and 4 git commands to generate.