This allows to retrieve a file descriptor referring to a namespace.
Signed-off-by: Christian Brauner <christian.brauner@canonical.com>
return 0;
}
+
+int lxc_preserve_ns(const int pid, const char *ns)
+{
+ int ret;
+ size_t len = 5 /* /proc */ + 21 /* /int_as_str */ + 3 /* /ns */ + 20 /* /NS_NAME */ + 1 /* \0 */;
+ char path[len];
+
+ ret = snprintf(path, len, "/proc/%d/ns/%s", pid, ns);
+ if (ret < 0 || (size_t)ret >= len)
+ return -1;
+
+ return open(path, O_RDONLY | O_CLOEXEC);
+}
int set_stdfds(int fd);
int null_stdfds(void);
int lxc_count_file_lines(const char *fn);
+int lxc_preserve_ns(const int pid, const char *ns);
/* Check whether a signal is blocked by a process. */
bool task_blocking_signal(pid_t pid, int signal);