]> git.proxmox.com Git - lxc.git/blame - debian/patches/pve/0006-api-extensions-add-and-document-cgroup_advanced_isol.patch
bump version to 4.0.3-1
[lxc.git] / debian / patches / pve / 0006-api-extensions-add-and-document-cgroup_advanced_isol.patch
CommitLineData
080abced
WB
1From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
2From: Christian Brauner <christian.brauner@ubuntu.com>
3Date: Sat, 4 Apr 2020 12:07:43 +0200
4Subject: [PATCH] api-extensions: add and document cgroup_advanced_isolation
5
6Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
7---
8 doc/api-extensions.md | 4 ++++
9 src/lxc/api_extensions.h | 1 +
10 2 files changed, 5 insertions(+)
11
12diff --git a/doc/api-extensions.md b/doc/api-extensions.md
13index 5767583af..e8b5eb089 100644
14--- a/doc/api-extensions.md
15+++ b/doc/api-extensions.md
16@@ -118,3 +118,7 @@ This adds a new API function `init_pidfd()` which allows to retrieve a pidfd for
17 ## pidfd
18
19 When running on kernels that support pidfds LXC will rely on them for most operations. This makes interacting with containers not just more reliable it also makes it significantly safer and eliminates various races inherent to PID-based kernel APIs. LXC will require that the running kernel at least support `pidfd_send_signal()`, `CLONE_PIDFD`, `P_PIDFD`, and pidfd polling support. Any kernel starting with `Linux 5.4` should have full support for pidfds.
20+
21+## cgroup\_advanced\_isolation
22+
23+Privileged containers will usually be able to override the cgroup limits given to them. This introduces three new configuration keys `lxc.cgroup.dir.monitor`, `lxc.cgroup.dir.container`, and `lxc.cgroup.dir.container.inner`. The `lxc.cgroup.dir.monitor` and `lxc.cgroup.dir.container` keys can be used to set to place the `monitor` and the `container` into different cgroups. The `lxc.cgroup.dir.container.inner` key can be set to a cgroup that is concatenated with `lxc.cgroup.dir.container`. When `lxc.cgroup.dir.container.inner` is set the container will be placed into the `lxc.cgroup.dir.container.inner` cgroup but the limits will be set in the `lxc.cgroup.dir.container` cgroup. This way privileged containers cannot escape their cgroup limits.
24diff --git a/src/lxc/api_extensions.h b/src/lxc/api_extensions.h
25index 3afdc35b9..b69467f26 100644
26--- a/src/lxc/api_extensions.h
27+++ b/src/lxc/api_extensions.h
28@@ -39,6 +39,7 @@ static char *api_extensions[] = {
29 #endif
30 "cgroup2",
31 "pidfd",
32+ "cgroup_advanced_isolation",
33 };
34
35 static size_t nr_api_extensions = sizeof(api_extensions) / sizeof(*api_extensions);