You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
77 lines
2.5 KiB
77 lines
2.5 KiB
From c7ce94825871ea5d0946e92762e981354628b8ad Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgraber@ubuntu.com>
|
|
Date: Mon, 22 Jun 2020 22:17:02 -0400
|
|
Subject: [PATCH] lxd: Fix building with clang
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
Closes #7573
|
|
|
|
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
|
|
---
|
|
lxd/main_forksyscall.go | 8 --------
|
|
lxd/seccomp/seccomp.go | 16 ++++++++--------
|
|
2 files changed, 8 insertions(+), 16 deletions(-)
|
|
|
|
diff --git a/lxd/main_forksyscall.go b/lxd/main_forksyscall.go
|
|
index a304405c2e..14895b6ce0 100644
|
|
--- a/lxd/main_forksyscall.go
|
|
+++ b/lxd/main_forksyscall.go
|
|
@@ -34,12 +34,6 @@ extern void attach_userns_fd(int ns_fd);
|
|
extern int pidfd_nsfd(int pidfd, pid_t pid);
|
|
extern bool setnsat(int ns_fd, const char *ns);
|
|
|
|
-static inline bool same_fsinfo(struct stat *s1, struct stat *s2,
|
|
- struct statfs *sfs1, struct statfs *sfs2)
|
|
-{
|
|
- return ((sfs1->f_type == sfs2->f_type) && (s1->st_dev == s2->st_dev));
|
|
-}
|
|
-
|
|
static bool chdirchroot_in_mntns(int cwd_fd, int root_fd)
|
|
{
|
|
ssize_t len;
|
|
@@ -209,8 +203,6 @@ const char *ns_names[] = { "user", "pid", "uts", "ipc", "net", "cgroup", NULL };
|
|
|
|
static bool change_creds(int ns_fd, cap_t caps, uid_t nsuid, gid_t nsgid, uid_t nsfsuid, gid_t nsfsgid)
|
|
{
|
|
- __do_close int fd = -EBADF;
|
|
-
|
|
if (prctl(PR_SET_KEEPCAPS, 1))
|
|
return false;
|
|
|
|
diff --git a/lxd/seccomp/seccomp.go b/lxd/seccomp/seccomp.go
|
|
index 8945fd9197..025efb3141 100644
|
|
--- a/lxd/seccomp/seccomp.go
|
|
+++ b/lxd/seccomp/seccomp.go
|
|
@@ -91,21 +91,21 @@ static int device_allowed(dev_t dev, mode_t mode)
|
|
{
|
|
switch (mode & S_IFMT) {
|
|
case S_IFCHR:
|
|
- if ((dev == makedev(0, 0))) // whiteout
|
|
+ if (dev == makedev(0, 0)) // whiteout
|
|
return 0;
|
|
- else if ((dev == makedev(5, 1))) // /dev/console
|
|
+ else if (dev == makedev(5, 1)) // /dev/console
|
|
return 0;
|
|
- else if ((dev == makedev(1, 7))) // /dev/full
|
|
+ else if (dev == makedev(1, 7)) // /dev/full
|
|
return 0;
|
|
- else if ((dev == makedev(1, 3))) // /dev/null
|
|
+ else if (dev == makedev(1, 3)) // /dev/null
|
|
return 0;
|
|
- else if ((dev == makedev(1, 8))) // /dev/random
|
|
+ else if (dev == makedev(1, 8)) // /dev/random
|
|
return 0;
|
|
- else if ((dev == makedev(5, 0))) // /dev/tty
|
|
+ else if (dev == makedev(5, 0)) // /dev/tty
|
|
return 0;
|
|
- else if ((dev == makedev(1, 9))) // /dev/urandom
|
|
+ else if (dev == makedev(1, 9)) // /dev/urandom
|
|
return 0;
|
|
- else if ((dev == makedev(1, 5))) // /dev/zero
|
|
+ else if (dev == makedev(1, 5)) // /dev/zero
|
|
return 0;
|
|
}
|
|
|