]>
git.ipfire.org Git - thirdparty/lxc.git/log
Fabrice Fontaine [Fri, 28 Feb 2020 16:35:42 +0000 (17:35 +0100)]
src/lxc/raw_syscalls.c: fix sparc assembly
Build of lxc 3.2.1 fails with ultrasparc on:
raw_syscalls.c: In function ‘lxc_raw_clone’:
raw_syscalls.c:66:3: error: invalid 'asm': invalid operand output code
asm volatile(
^~~
Issue has been added with commit
b52e8e68a61866da2af86e85905ec850f8a8b7fc which added %g1 instead of %%g1
Fixes:
- http://autobuild.buildroot.org/results/
17c2319850f02f24da6fbef9656c07f86fdc5a3a
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Christian Brauner [Thu, 27 Feb 2020 22:02:31 +0000 (23:02 +0100)]
cgroups: honor lxc.cgroup.pattern if set explicitly II
Link: https://discuss.linuxcontainers.org/t/lxc-cgroup-pattern-is-not-being-honored
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Thu, 27 Feb 2020 22:02:31 +0000 (23:02 +0100)]
cgroups: honor lxc.cgroup.pattern if set explicitly
Link: https://discuss.linuxcontainers.org/t/lxc-cgroup-pattern-is-not-being-honored
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Tue, 25 Feb 2020 12:36:51 +0000 (13:36 +0100)]
cgroups: remove unused method and cleanup cgroup_exit()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Wed, 12 Feb 2020 23:16:15 +0000 (00:16 +0100)]
tree-wide: improve setgroups() dropping
Drop groups before we change to userns root.
Reported-by: Teddy Reed <teddy.reed@gmail.com>
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Tycho Andersen [Mon, 10 Feb 2020 15:14:33 +0000 (08:14 -0700)]
lxclock: fix a small memory leak
if (!name), we allocate an unnamed semaphore, but if we then fail to
allocate/create the lock, we don't free this semaphore, and we just leak
it.
Signed-off-by: Tycho Andersen <tycho@tycho.ws>
Maximilian Blenk [Wed, 5 Feb 2020 18:25:53 +0000 (19:25 +0100)]
container.conf: Document that order is important in config_jump_table
Add a comment that documents that more specific options of a
namespace have to be added above more generic options in
config_jump_table.
Signed-off-by: Maximilian Blenk <Maximilian.Blenk@bmw.de>
Maximilian Blenk [Wed, 5 Feb 2020 18:17:51 +0000 (19:17 +0100)]
container.conf: Fix off by 2 in option parsing
This commit fixes a off by 2 in config option parsing
(due to missing parenthesis). The error occurs if for instance
lxc.net.0.type is parsed. In that case, the .0 is removed from the
string. However, due to the missing parenthesis, the null terminating
character is off by two which means the modified config option would
be lxc.net.typepe instead of lxc.net.type.
Signed-off-by: Maximilian Blenk <Maximilian.Blenk@bmw.de>
Kirill Petrov [Mon, 27 Jan 2020 08:51:36 +0000 (11:51 +0300)]
cgroups: fix default cgroup pattern
Signed-off-by: Kirill Petrov <yakutskkirill@mail.ru>
Christian Brauner [Thu, 16 Jan 2020 17:02:35 +0000 (18:02 +0100)]
start: fix container killing logic
We need to account for the case where pidfd's are not supported by the kernel
in question.
Closes: #3254
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Tue, 14 Jan 2020 12:50:45 +0000 (13:50 +0100)]
test: increase timeout for api reboot tests
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
LiFeng [Tue, 14 Jan 2020 09:17:13 +0000 (04:17 -0500)]
cgroup.c: fix memory leak at cgroup init failed
Signed-off-by: LiFeng <lifeng68@huawei.com>
Christian Brauner [Thu, 9 Jan 2020 17:08:48 +0000 (18:08 +0100)]
network: fix network device removal
We can't delete by netdev->ifindex since that's the ifindex of the device in
the container, not on the host. The correct thing is done below.
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Thu, 9 Jan 2020 16:10:14 +0000 (17:10 +0100)]
tests: log api reboot test failures
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Thu, 9 Jan 2020 15:28:02 +0000 (16:28 +0100)]
network: fix typ and formatting in comment
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Thu, 9 Jan 2020 11:25:30 +0000 (12:25 +0100)]
start: handle kernel header and kernel incompatability
We might e.g. be compiled in a container with old kernel headers. In this
scenario CLONE_PIDFD will work but pidfd_send_signal() might not be detected
because __NR_pidfd_send_signal is not defined because the kernel headers don't
match the kernel version.
This explains and fixes test-suite hangs on Jenkins I've recently debugged.
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Thu, 9 Jan 2020 11:28:54 +0000 (12:28 +0100)]
tests: timeout after 60 seconds
That should be more than enough to reboot.
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Thu, 9 Jan 2020 11:28:19 +0000 (12:28 +0100)]
mainloop: add missing \n
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Wed, 25 Dec 2019 17:50:53 +0000 (18:50 +0100)]
start: remove procfs pidfd support
We'll only rely on proper anon-inode based pidfd support in the future.
There's no good reason to use the procfs fallback. All the fancy features we
might want to use are only available with anon-inode pidfds.
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Rachid Koucha [Fri, 3 Jan 2020 09:48:41 +0000 (10:48 +0100)]
Suppress useless udhcpc directory
The udhcpc directory is created with "mkdir -p" at the place dynamically specified by "busybox udhcpc --help".
Signed-off-by: Rachid Koucha <rachid.koucha@gmail.com>
Rachid Koucha [Fri, 27 Dec 2019 07:49:00 +0000 (08:49 +0100)]
Adaptation to latest busybox
In busybox 1.30, the help of udhcpc for "-s" option changed:
--> busybox v1.27.2: -s,--script PROG Run PROG at DHCP events (default /usr/share/udhcpc/default.script)
--> busybox v1.30.1: -s PROG Run PROG at DHCP events (default /etc/udhcpc/default.script)
So, I changed the command line which extracts the script name to make it work for both versions
Signed-off-by: Rachid Koucha <rachid.koucha@gmail.com>
Rachid Koucha [Thu, 26 Dec 2019 10:51:54 +0000 (11:51 +0100)]
Word repetition in comment
create_run_template(): Double "will mount" in a comment
Signed-off-by: Rachid Koucha <rachid.koucha@gmail.com>
vikaig [Mon, 23 Dec 2019 21:31:53 +0000 (23:31 +0200)]
cmd: fix shebang
Signed-off-by: vikaig <vikaig99@gmail.com>
Christian Brauner [Mon, 23 Dec 2019 19:12:57 +0000 (20:12 +0100)]
travis: enable -fsanitize=undefined
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
dongxinhua [Sat, 21 Dec 2019 09:44:40 +0000 (17:44 +0800)]
fd: only add valid fd to mainloop
Signed-off-by: dongxinhua <dongxinhua@huawei.com>
dongxinhua [Tue, 17 Dec 2019 01:10:04 +0000 (09:10 +0800)]
seccomp: support s390 seccomp
Signed-off-by: dongxinhua <dongxinhua@huawei.com>
Christian Brauner [Thu, 12 Dec 2019 21:04:20 +0000 (22:04 +0100)]
cgroups/cgfsng: do not prematurely close file descriptors
When adding the new improved cgroup setup logic I didn't account for the fact
that we need the hierarchy fds up until chown. Add a dedicated cleanup method
to fix this:
lxc b1
20191212205052 .712 WARN cgfsng - cgroups/cgfsng.c:fchowmodat:1481 - Bad file descriptor - Failed to fchownat(-9, ,
1000000000 , 0, AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW )
lxc b1
20191212205052 .712 WARN cgfsng - cgroups/cgfsng.c:fchowmodat:1481 - Bad file descriptor - Failed to fchownat(-9, tasks,
1000000000 , 0, AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW )
lxc b1
20191212205052 .712 WARN cgfsng - cgroups/cgfsng.c:fchowmodat:1481 - Bad file descriptor - Failed to fchownat(-9, cgroup.procs,
1000000000 , 0, AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW )
lxc b1
20191212205052 .712 WARN cgfsng - cgroups/cgfsng.c:fchowmodat:1481 - Bad file descriptor - Failed to fchownat(-9, ,
1000000000 , 0, AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW )
lxc b1
20191212205052 .712 WARN cgfsng - cgroups/cgfsng.c:fchowmodat:1481 - Bad file descriptor - Failed to fchownat(-9, tasks,
1000000000 , 0, AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW )
lxc b1
20191212205052 .712 WARN cgfsng - cgroups/cgfsng.c:fchowmodat:1481 - Bad file descriptor - Failed to fchownat(-9, cgroup.procs,
1000000000 , 0, AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW )
lxc b1
20191212205052 .712 WARN cgfsng - cgroups/cgfsng.c:fchowmodat:1481 - Bad file descriptor - Failed to fchownat(-9, ,
1000000000 , 0, AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW )
lxc b1
20191212205052 .712 WARN cgfsng - cgroups/cgfsng.c:fchowmodat:1481 - Bad file descriptor - Failed to fchownat(-9, tasks,
1000000000 , 0, AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW )
lxc b1
20191212205052 .712 WARN cgfsng - cgroups/cgfsng.c:fchowmodat:1481 - Bad file descriptor - Failed to fchownat(-9, cgroup.procs,
1000000000 , 0, AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW )
lxc b1
20191212205052 .712 WARN cgfsng - cgroups/cgfsng.c:fchowmodat:1481 - Bad file descriptor - Failed to fchownat(-9, ,
1000000000 , 0, AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW )
lxc b1
20191212205052 .712 WARN cgfsng - cgroups/cgfsng.c:fchowmodat:1481 - Bad file descriptor - Failed to fchownat(-9, tasks,
1000000000 , 0, AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW )
lxc b1
20191212205052 .712 WARN cgfsng - cgroups/cgfsng.c:fchowmodat:1481 - Bad file descriptor - Failed to fchownat(-9, cgroup.procs,
1000000000 , 0, AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW )
lxc b1
20191212205052 .712 WARN cgfsng - cgroups/cgfsng.c:fchowmodat:1481 - Bad file descriptor - Failed to fchownat(-9, ,
1000000000 , 0, AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW )
lxc b1
20191212205052 .712 WARN cgfsng - cgroups/cgfsng.c:fchowmodat:1481 - Bad file descriptor - Failed to fchownat(-9, tasks,
1000000000 , 0, AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW )
lxc b1
20191212205052 .712 WARN cgfsng - cgroups/cgfsng.c:fchowmodat:1481 - Bad file descriptor - Failed to fchownat(-9, cgroup.procs,
1000000000 , 0, AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW )
lxc b1
20191212205052 .712 WARN cgfsng - cgroups/cgfsng.c:fchowmodat:1481 - Bad file descriptor - Failed to fchownat(-9, ,
1000000000 , 0, AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW )
lxc b1
20191212205052 .712 WARN cgfsng - cgroups/cgfsng.c:fchowmodat:1481 - Bad file descriptor - Failed to fchownat(-9, tasks,
1000000000 , 0, AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW )
lxc b1
20191212205052 .712 WARN cgfsng - cgroups/cgfsng.c:fchowmodat:1481 - Bad file descriptor - Failed to fchownat(-9, cgroup.procs,
1000000000 , 0, AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW )
lxc b1
20191212205052 .712 WARN cgfsng - cgroups/cgfsng.c:fchowmodat:1481 - Bad file descriptor - Failed to fchownat(-9, ,
1000000000 , 0, AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW )
lxc b1
20191212205052 .712 WARN cgfsng - cgroups/cgfsng.c:fchowmodat:1481 - Bad file descriptor - Failed to fchownat(-9, tasks,
1000000000 , 0, AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW )
lxc b1
20191212205052 .712 WARN cgfsng - cgroups/cgfsng.c:fchowmodat:1481 - Bad file descriptor - Failed to fchownat(-9, cgroup.procs,
1000000000 , 0, AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW )
lxc b1
20191212205052 .712 WARN cgfsng - cgroups/cgfsng.c:fchowmodat:1481 - Bad file descriptor - Failed to fchownat(-9, ,
1000000000 , 0, AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW )
lxc b1
20191212205052 .712 WARN cgfsng - cgroups/cgfsng.c:fchowmodat:1481 - Bad file descriptor - Failed to fchownat(-9, tasks,
1000000000 , 0, AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW )
lxc b1
20191212205052 .712 WARN cgfsng - cgroups/cgfsng.c:fchowmodat:1481 - Bad file descriptor - Failed to fchownat(-9, cgroup.procs,
1000000000 , 0, AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW )
lxc b1
20191212205052 .712 WARN cgfsng - cgroups/cgfsng.c:fchowmodat:1481 - Bad file descriptor - Failed to fchownat(-9, ,
1000000000 , 0, AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW )
lxc b1
20191212205052 .712 WARN cgfsng - cgroups/cgfsng.c:fchowmodat:1481 - Bad file descriptor - Failed to fchownat(-9, tasks,
1000000000 , 0, AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW )
lxc b1
20191212205052 .712 WARN cgfsng - cgroups/cgfsng.c:fchowmodat:1481 - Bad file descriptor - Failed to fchownat(-9, cgroup.procs,
1000000000 , 0, AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW )
lxc b1
20191212205052 .712 WARN cgfsng - cgroups/cgfsng.c:fchowmodat:1481 - Bad file descriptor - Failed to fchownat(-9, ,
1000000000 , 0, AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW )
lxc b1
20191212205052 .712 WARN cgfsng - cgroups/cgfsng.c:fchowmodat:1481 - Bad file descriptor - Failed to fchownat(-9, tasks,
1000000000 , 0, AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW )
lxc b1
20191212205052 .712 WARN cgfsng - cgroups/cgfsng.c:fchowmodat:1481 - Bad file descriptor - Failed to fchownat(-9, cgroup.procs,
1000000000 , 0, AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW )
lxc b1
20191212205052 .712 WARN cgfsng - cgroups/cgfsng.c:fchowmodat:1481 - Bad file descriptor - Failed to fchownat(-9, ,
1000000000 , 0, AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW )
lxc b1
20191212205052 .712 WARN cgfsng - cgroups/cgfsng.c:fchowmodat:1481 - Bad file descriptor - Failed to fchownat(-9, tasks,
1000000000 , 0, AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW )
lxc b1
20191212205052 .712 WARN cgfsng - cgroups/cgfsng.c:fchowmodat:1481 - Bad file descriptor - Failed to fchownat(-9, cgroup.procs,
1000000000 , 0, AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW )
lxc b1
20191212205052 .712 WARN cgfsng - cgroups/cgfsng.c:fchowmodat:1481 - Bad file descriptor - Failed to fchownat(-9, ,
1000000000 , 0, AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW )
lxc b1
20191212205052 .712 WARN cgfsng - cgroups/cgfsng.c:fchowmodat:1481 - Bad file descriptor - Failed to fchownat(-9, tasks,
1000000000 , 0, AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW )
lxc b1
20191212205052 .712 WARN cgfsng - cgroups/cgfsng.c:fchowmodat:1481 - Bad file descriptor - Failed to fchownat(-9, cgroup.procs,
1000000000 , 0, AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW )
Closes #3228.
Fixes: 1973b62aab41 ("cgroups/cgfsng: improve cgroup creation and removal")
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Wed, 11 Dec 2019 06:37:36 +0000 (07:37 +0100)]
cgroups/cgfsng: improve cgroup creation and removal
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Tue, 10 Dec 2019 20:00:59 +0000 (21:00 +0100)]
cgroups/cgfsng: rework cgroup removal
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Tue, 10 Dec 2019 17:15:30 +0000 (18:15 +0100)]
cgroups/cgfsng: rework legacy cpuset handling
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Tue, 10 Dec 2019 17:07:47 +0000 (18:07 +0100)]
cgroupfs/cgfsng: pass cgroup to cg_legacy_handle_cpuset_hierarchy() as const char *
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Tue, 10 Dec 2019 11:27:33 +0000 (12:27 +0100)]
cgroups: use explicit unsigned type for bitfield
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Mon, 9 Dec 2019 22:14:37 +0000 (23:14 +0100)]
cgroups: flatten hierarchy
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Mon, 9 Dec 2019 10:20:29 +0000 (11:20 +0100)]
file_utils: use O_NOCTTY | O_NOFOLLOW
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sun, 8 Dec 2019 00:58:24 +0000 (01:58 +0100)]
cgroups/devices: enable devpath semantics for cgroup2 device controller
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sun, 8 Dec 2019 00:17:33 +0000 (01:17 +0100)]
cgroups/cgfsng: replace lxc_write_file()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 7 Dec 2019 23:43:40 +0000 (00:43 +0100)]
cgroups/cgfsng: cgfsng_devices_activate()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 7 Dec 2019 23:41:36 +0000 (00:41 +0100)]
cgroups/cgfsng: rework cgfsng_nrtasks()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 7 Dec 2019 23:40:29 +0000 (00:40 +0100)]
cgroups/cgfsng: rework cgfsng_mount()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 7 Dec 2019 23:38:16 +0000 (00:38 +0100)]
cgroups/cgfsng: rework cgfsng_chown()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 7 Dec 2019 23:35:19 +0000 (00:35 +0100)]
cgroups/cgfsng: rework cgfsng_attach()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 7 Dec 2019 23:33:24 +0000 (00:33 +0100)]
cgroups/cgfsng: rework cgfsng_setup_limits()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 7 Dec 2019 23:27:22 +0000 (00:27 +0100)]
cgroups/cgfsng: rework cgfsng_setup_limits_legacy()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 7 Dec 2019 23:24:20 +0000 (00:24 +0100)]
cgroups/cgfsng: rework cgfsng_{get,set}()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 7 Dec 2019 23:20:02 +0000 (00:20 +0100)]
cgroups/cgfsng: rework cgfsng_unfreeze()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 7 Dec 2019 23:18:52 +0000 (00:18 +0100)]
cgroups/cgfsng: rework cgfsng_get_hierarchies()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 7 Dec 2019 23:17:58 +0000 (00:17 +0100)]
cgroups/cgfsng: rework cgfsng_num_hierarchies()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 7 Dec 2019 23:16:59 +0000 (00:16 +0100)]
cgroups/cgfsng: rework cgfsng_escape()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 7 Dec 2019 23:13:14 +0000 (00:13 +0100)]
cgroups/cgfsng: rework cgfsng_payload_enter()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 7 Dec 2019 23:06:59 +0000 (00:06 +0100)]
cgroups/cgfsng: rework cgfsng_payload_create()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 7 Dec 2019 22:47:16 +0000 (23:47 +0100)]
tree-wide: s/__unused/__lxc_unused/g
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 7 Dec 2019 21:19:20 +0000 (22:19 +0100)]
cgroups/cgfsng: rework cgroup attach
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 7 Dec 2019 21:12:00 +0000 (22:12 +0100)]
cgroups/cgfsng: don't dereference NULL-pointer
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 7 Dec 2019 21:04:04 +0000 (22:04 +0100)]
cgroups/cgfsng: log chown_cgroup_wrapper()
It's becoming more important on cgroup2 to properly delegate cgroups.
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 7 Dec 2019 20:51:58 +0000 (21:51 +0100)]
cgroups/cgfsng: rework cgroup2 unprivileged delegation
We accidently checked files to delegate for privileged container and not for
unprivileged containers in the pure unified case. Fix that and clean up the
delegation file parsing.
Closes #3206.
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 7 Dec 2019 17:17:48 +0000 (18:17 +0100)]
cgroups/cgfsng: rework cgfsng_{monitor,payload}_delegate_controllers()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 7 Dec 2019 17:13:54 +0000 (18:13 +0100)]
cgroups/cgfsng: rework cgfsng_monitor_enter()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 7 Dec 2019 17:12:30 +0000 (18:12 +0100)]
cgroups/cgfsng: rework cgfsng_monitor_create()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 7 Dec 2019 17:08:25 +0000 (18:08 +0100)]
cgroups/cgfsng: rework cgfsng_monitor_destroy()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 7 Dec 2019 17:04:17 +0000 (18:04 +0100)]
cgroups/cgfsng: rework cgfsng_payload_destroy()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 7 Dec 2019 16:40:32 +0000 (17:40 +0100)]
log: remove unused compiler attribute
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 7 Dec 2019 16:40:05 +0000 (17:40 +0100)]
start: replace compiler attributes
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 7 Dec 2019 16:39:49 +0000 (17:39 +0100)]
log: replace compiler attributes
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 7 Dec 2019 16:39:03 +0000 (17:39 +0100)]
attach: replace closing helpers
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 7 Dec 2019 16:38:42 +0000 (17:38 +0100)]
compiler: add __unused attribute
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 7 Dec 2019 16:31:50 +0000 (17:31 +0100)]
{log, macro}: remove unused logging functions
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 7 Dec 2019 16:30:57 +0000 (17:30 +0100)]
cgroups: rework return values of some functions
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 7 Dec 2019 16:30:07 +0000 (17:30 +0100)]
cgroups/cgroup2_devices: replace logging functions
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 7 Dec 2019 16:29:12 +0000 (17:29 +0100)]
cgroups/cgroup: replace logging functions
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 7 Dec 2019 16:28:06 +0000 (17:28 +0100)]
cgroups/cgfsng: replace logging functions
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 7 Dec 2019 16:25:28 +0000 (17:25 +0100)]
confile: replace logging helpers
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 7 Dec 2019 16:24:29 +0000 (17:24 +0100)]
network: replace logging helpers
s/error_log_errno(/log_error_errno(-1, /g
s/minus_one_set_errno(/ret_set_errno(-1, /g
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 7 Dec 2019 16:23:24 +0000 (17:23 +0100)]
commands: replace logging helpers
s/error_log_errno(/log_error_errno(-1, /g
s/minus_one_set_errno(/ret_set_errno(-1, /g
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 7 Dec 2019 16:22:53 +0000 (17:22 +0100)]
attach: s/minus_one_set_errno(/ret_set_errno(-1, /g
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 7 Dec 2019 16:22:14 +0000 (17:22 +0100)]
af_unix: s/minus_one_set_errno(/ret_set_errno(-1, /g
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 7 Dec 2019 16:21:53 +0000 (17:21 +0100)]
macro: add ret_errno()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 7 Dec 2019 16:21:18 +0000 (17:21 +0100)]
log: rearrange
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Fri, 6 Dec 2019 08:42:47 +0000 (09:42 +0100)]
cgroup2: rework controller delegation
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Rachid Koucha [Fri, 6 Dec 2019 14:07:47 +0000 (15:07 +0100)]
"busy" field set to -1 instead of 0
"busy" field is assigned with the command socket descriptor when the terminal is in use. So, use "-1" to disable it.
Signed-off-by: Rachid Koucha <rachid.koucha@gmail.com>
Rachid Koucha [Fri, 6 Dec 2019 14:04:31 +0000 (15:04 +0100)]
"busy" field set to 1 instead of 0
"busy" field is assigned with the command socket descriptor when the terminal is in use. So, use "-1" to disable it.
Signed-off-by: Rachid Koucha <rachid.koucha@gmail.com>
Rachid Koucha [Fri, 6 Dec 2019 13:59:52 +0000 (14:59 +0100)]
Init "busy" field to -1 as 0 is valid fd
"busy" field is assigned with the command socket descriptor when the terminal is in use. So, use "-1" to disable it.
Signed-off-by: Rachid Koucha <rachid.koucha@gmail.com>
Maximilian Blenk [Thu, 5 Dec 2019 15:44:41 +0000 (16:44 +0100)]
config: Fix parsing of mount options
When parsing mount options e.g. from lxc.mount.entry the specified
options are mapped to the flags constants. To do so, the strings
are compared to the options contained in mount_opt. However,
when comparing the strings, the length of the string is not
checked. That entails that the option "rootcontext=selinux-context"
is mapped to the mount option read-only (ro). This commit fixes
this issue by checking if a '=' is contained in the specified option
and additionally comparing the length of the strings.
Signed-off-by: Maximilian Blenk <Maximilian.Blenk@bmw.de>
Christian Brauner [Wed, 4 Dec 2019 13:03:48 +0000 (14:03 +0100)]
cgroups/devices: correctly verify bpf device useability in cgfsng_devices_activate()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Wed, 4 Dec 2019 12:26:54 +0000 (13:26 +0100)]
cgroups: improve container cgroup attaching
The current attach.c codepath which handles moving the attaching process into
the container's cgroups allocates a whole new struct cgroup_ops and goes
through the trouble of reparsing the whole cgroup layout.
That's costly and wasteful. My plan has always been to move this into the
command api by getting fds for attaching back but but it's not worth going
through that hazzle for non-unified hosts. On pure unified hosts however -
being the future - we can just attach through a single fd so there's no need to
allocate and setup struct cgroup_ops.
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Tue, 3 Dec 2019 21:04:14 +0000 (22:04 +0100)]
lxc: switch to SPDX
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Wed, 4 Dec 2019 12:26:23 +0000 (13:26 +0100)]
commands: use logging return helpers
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Wed, 4 Dec 2019 12:44:22 +0000 (13:44 +0100)]
Revert "cgroups/freezer: fix and improve cgroup2 freezer implementation"
This reverts commit
ecaf0c7bfc1baee74ff38dbdbc65bf4bec2361d4 . I somehow
accidently did a double-backport.
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Wed, 4 Dec 2019 00:39:20 +0000 (01:39 +0100)]
cgfsng: rework cgroup2 attach
On pure unified systemd we can use a single file descriptor to interact with
the cgroup filesystem. Add a method to retrieve it and as a start use it in our
unified attach codepath.
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Tue, 3 Dec 2019 23:55:42 +0000 (00:55 +0100)]
cgroups/devices: do not log error when bpf device feature is not available
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Tue, 3 Dec 2019 16:33:11 +0000 (17:33 +0100)]
freezer: cleanup
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Tue, 3 Dec 2019 01:23:34 +0000 (02:23 +0100)]
cgroups/freezer: fix and improve cgroup2 freezer implementation
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
dongxinhua [Thu, 21 Nov 2019 14:20:20 +0000 (22:20 +0800)]
conf: fix memory leak for set config rootfs options
Signed-off-by: dongxinhua <dongxinhua@huawei.com>
Christian Brauner [Mon, 11 Feb 2019 15:34:54 +0000 (16:34 +0100)]
tree-wide: fix wrong copy-paste for licenses
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Tue, 3 Dec 2019 01:23:34 +0000 (02:23 +0100)]
cgroups/freezer: fix and improve cgroup2 freezer implementation
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Tue, 3 Dec 2019 00:24:55 +0000 (01:24 +0100)]
cgroups: add DEFAULT_MOUNTPOINT #define
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Mon, 2 Dec 2019 13:13:02 +0000 (14:13 +0100)]
start: remove monitor_signal_pdeath codepath
This causes compilation failures due to a bad cherry-pick.
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sun, 1 Dec 2019 23:50:06 +0000 (00:50 +0100)]
cgroups/devices: use dedicated enums
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sun, 1 Dec 2019 18:39:48 +0000 (19:39 +0100)]
cgroups/devices: introduce ebpf device cgroup global rule types
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sun, 1 Dec 2019 17:25:00 +0000 (18:25 +0100)]
cgroups/devices: handle NULL
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sun, 1 Dec 2019 16:04:43 +0000 (17:04 +0100)]
configure: enable -Wunused-but-set-variable
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>