Commit Graph

10890 Commits

Author SHA1 Message Date
Christian Brauner
7064ee3a92
cgroups: kill monitor_full_path
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-18 00:39:22 +01:00
Christian Brauner
11e5c6783e
cgroups: free correct path
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-18 00:39:22 +01:00
Christian Brauner
05fe99f3a9
utils: fix print_r() debugging helper
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-17 23:30:12 +01:00
Christian Brauner
bce04069bc
cgroups: fix error values
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-17 22:48:56 +01:00
Christian Brauner
2c4348bd1c
cgroups: don't overwrite type
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-17 18:49:20 +01:00
Christian Brauner
bd09ee987d
cgroups: make it extremely obvious that we're transitioning from a flag to a type
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-17 18:48:58 +01:00
Stéphane Graber
cca7d405fe
Merge pull request #3680 from brauner/2021-02-17/cgroups_2
cgroups: fourth batch of cgroup fixes
2021-02-17 12:30:57 -05:00
Christian Brauner
77410c983c
cgroups: create controller directories if missing
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-17 16:56:55 +01:00
Christian Brauner
51feb8dbb7
cgroups: use non-flag based checking now that we switched all codepaths over
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-17 16:56:55 +01:00
Christian Brauner
9394b6dc97
conf: use brackets to clarify check semantics
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-17 16:30:15 +01:00
Christian Brauner
69c296739d
cgroups: validate that only a single cgroup mount type is set
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-17 16:30:15 +01:00
Christian Brauner
8186eb8e8a
cgroups: prevent cgroup mount type overwrite
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-17 16:30:15 +01:00
Christian Brauner
f1921f351e
cgroups: ensure that cgroup_root is initialized in legacy codepaths
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-17 16:29:56 +01:00
Christian Brauner
9bca62b305
cgroups: distinguish between tmpfs and unified based cgroup layouts file descriptors
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-17 15:29:14 +01:00
Christian Brauner
e203535895
cgroups: log intermediate cleanup
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-17 15:24:59 +01:00
Stéphane Graber
b3ad27fb43
Merge pull request #3679 from brauner/2021-02-17/cgroups
cgroups: third batch of cgroup fixes
2021-02-17 08:59:13 -05:00
Christian Brauner
0954f6cec9
cgroups: prevent NULL pointer deref
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-17 14:42:55 +01:00
Christian Brauner
8f45c49bb1
cgroups: simplify mount opening
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-17 10:45:35 +01:00
Christian Brauner
9981107f55
cgroups: ensure we prune the limit dir
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-17 10:35:58 +01:00
Christian Brauner
c1ece89518
cgroups: ensure we don't remove cgroups we didn't create
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-17 10:30:30 +01:00
Christian Brauner
57abfbb640
cgroups: don't move pivot cgroup under the monitor's cgroup
Otherwise we will never be able to destroy the monitor's cgroup.

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-17 10:08:27 +01:00
Christian Brauner
1e05885505
cgroups: don't rely on absolute path
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-17 10:06:29 +01:00
Christian Brauner
471929c6d0
cgroups: be stricter when creating payloads
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-17 10:04:58 +01:00
Christian Brauner
a6aeb9f1b9
cgroups: rework cgroup tree creation
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-17 10:03:42 +01:00
Christian Brauner
6c880cdfa1
cgroups: ensure leaf cgroup is correctly pruned on creation failure
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-17 09:29:04 +01:00
Christian Brauner
cb423bd38b
cgroups: rework cgroup tree removal on creation failure
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-17 09:15:38 +01:00
Christian Brauner
2291719e82
cgroups: remove obsolote check
In the new layout we don't need to do this.

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-17 09:06:37 +01:00
Christian Brauner
6fec43278e
cgroups: reorder function arguments
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-17 09:04:03 +01:00
Stéphane Graber
e82bb1b360
Merge pull request #3678 from brauner/2021-02-17/unified_controller_delegation
cgroups: rework unified cgroup controller delegation
2021-02-16 20:27:03 -05:00
Christian Brauner
838d155694
start: delegate than move into the target cgroup
This is a way more sensible model.

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-17 01:45:47 +01:00
Christian Brauner
95ab26aff7
cgroups: rework unified controller delegation
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-17 01:45:47 +01:00
Christian Brauner
e4db08ed3e
cgroups: check correct variable
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-17 01:45:47 +01:00
Christian Brauner
e219f8e885
cgroups: s/openat()/open_at()/g
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-17 01:45:44 +01:00
Stéphane Graber
6963202241
Merge pull request #3677 from brauner/2021-02-17/cgroup_pruning
cgroups: fd-only cgroup tree pruning
2021-02-16 19:16:38 -05:00
Stéphane Graber
a218be90f5
Merge pull request #3676 from brauner/2021-02-16/fixes
cgroups: fixes
2021-02-16 19:16:23 -05:00
Christian Brauner
dcf6a5c7c6
cgroups: remove obsolote cgroup_tree handling
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-17 00:49:41 +01:00
Christian Brauner
c55fe36d28
cgroups: fd-only cgroup tree pruning
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-17 00:42:40 +01:00
Christian Brauner
6347774b4c
file_utils: move dup_cloexec() to header
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-17 00:42:37 +01:00
Christian Brauner
701be30e14
cgroups: prevent double-close
Fixes: Coverity 1473183
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-16 23:27:53 +01:00
Christian Brauner
ba559a5b19
namespace: add missing \0 terminator
Link: https://launchpadlibrarian.net/523195972/buildlog_ubuntu-groovy-ppc64el.lxc_1%3A4.0.6+master~20210215-1740-0ubuntu1~groovy_BUILDING.txt.gz
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-16 23:20:54 +01:00
Stéphane Graber
858f62255d
Merge pull request #3675 from brauner/2021-02-16/fixes
cgroups: second batch of cgroup fixes
2021-02-16 16:37:42 -05:00
Christian Brauner
060e54d6df
cgroups: rework how hierarchies are added
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-16 20:39:02 +01:00
Christian Brauner
c426abeaa9
cgroups: fix fd leaks
They didn't really matter because we want to keep them around for as long as
the container lives anyway.

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-16 19:19:09 +01:00
Christian Brauner
f5b049452e
cgroups: allow "" base cgroup paths
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-16 19:19:09 +01:00
Christian Brauner
192812516e
string_utils: handle empty strings in must_make_path()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-16 19:19:09 +01:00
Christian Brauner
088db01b85
cgroups: improve logging
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-16 19:19:09 +01:00
Christian Brauner
033267c93a
cgroups: rework legacy cpuset handling
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-16 19:19:09 +01:00
Christian Brauner
da42ac7b4b
cgroups: fd-based only cgroup creation
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-16 17:25:53 +01:00
Christian Brauner
3486d9935a
cgroups: stash fds for the controller mountpoint and base cgroup path
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-16 13:36:13 +01:00
Christian Brauner
5c7b81439c
cgroups: fail when no cgroup hierarchies are found
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-16 13:28:48 +01:00