Christian Brauner
3975ef41d2
commands: add LXC_CMD_GET_CGROUP_FD and LXC_CMD_GET_LIMIT_CGROUP_FD
...
and port cgroup_get() and cgroup_set(). This means no more useless cgroup
driver initialization on ever get or set.
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-26 21:29:05 +01:00
Christian Brauner
5d8caeb994
commands: extend rsp_one_fd() to also handle additional data
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-26 21:29:05 +01:00
Christian Brauner
236f417565
file_utils: actually open the file for reading
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-26 21:29:04 +01:00
Christian Brauner
9bfcfda59a
commands: set rsp.ret to 0 for lxc_cmd_get_cgroup_ctx_callback()
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-26 21:29:03 +01:00
Christian Brauner
7c16820e91
cgroups: s/cgroup_layout/layout/g
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-26 21:29:03 +01:00
Christian Brauner
d5d3ed2705
commands: add LXC_CMD_GET_CGROUP_FD and LXC_CMD_GET_LIMIT_CGROUP_FD
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-26 21:29:02 +01:00
Christian Brauner
cfd0e3b521
commands: s/_LIMITING_/_LIMIT_/g and s/_limiting_/_limit_/g
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-26 21:29:01 +01:00
Christian Brauner
dd65d42a70
commands: simplify lxc_cmd_get_cgroup_ctx()
...
Instead of allowing individual hierarchy fd retrieval through
lxc_cmd_get_cgroup_ctx() let's add a dedicated method instead.
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-26 21:29:01 +01:00
Christian Brauner
a4e04834a7
commands: fix alignment for lxc_cmd_get_cgroup_ctx()
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-26 21:29:00 +01:00
Christian Brauner
292f998534
cgroups: handle fallback gracefully
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-26 21:29:00 +01:00
Christian Brauner
1274eb5c22
cgroups: make use of ERRNO_IS_NOT_SUPPORTED()
...
This will hopefully prevent backwards compatibility fallback errors.
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-26 21:28:59 +01:00
Christian Brauner
0e48c43b41
error_utils: copy over Lennart's IN_SET()
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-26 21:28:58 +01:00
Christian Brauner
870a288c1f
commands: tweak return values
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-26 21:28:58 +01:00
Christian Brauner
f3aca94f78
error_utils: move error helper to separate header
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-26 21:28:57 +01:00
Christian Brauner
976faade31
cgroups: simple variable reordering
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-26 21:28:57 +01:00
Christian Brauner
f7103f3b12
attach: be paranoid about file descriptors
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-26 21:28:56 +01:00
Christian Brauner
2fe672bb48
cgroups: fix braino during controller list creation
...
Co-mounted controllers are conventionally separated by ",".
Fixes: https://jenkins.linuxcontainers.org/job/lxd-github-commit/1905/arch=amd64,backend=dir,compiler=golang-1.15/consoleFull
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-26 21:28:56 +01:00
Christian Brauner
56cf060ce5
commands: remove faulty use of access attribute
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-26 21:28:55 +01:00
Christian Brauner
a23ad648bf
cgroups: fix error checking
...
Fixes: Coverity 1473310
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-26 21:28:54 +01:00
Christian Brauner
82ba06f6a2
af_unix: prevent oob writes
...
Fixes: Coverity 1473309
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-26 21:28:54 +01:00
Christian Brauner
90b9b14c84
commands: only deref once
...
Fixes: Coverity 1473308
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-26 21:28:53 +01:00
Christian Brauner
8a1731626d
commands: handle old clients for LXC_CMD_GET_CGROUP_CTX
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-26 21:28:53 +01:00
Christian Brauner
490265b1a7
attach: handle new and old clients
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-26 21:28:52 +01:00
Christian Brauner
ce35e2440e
attach: make fd sending more uniform
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-26 21:28:51 +01:00
Christian Brauner
80f07b8b0a
terminal: dumb logging down
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-26 21:28:51 +01:00
Christian Brauner
2c8089b49a
attach: fix namespace preservation
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-26 21:28:50 +01:00
Christian Brauner
aeadb8f501
commands: verify expected file descriptors were sent
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-26 21:28:50 +01:00
Christian Brauner
cdc2c87112
commands: handle older clients gracefully
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-26 21:28:49 +01:00
Christian Brauner
abe00764ca
attach: remove additional newline
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-26 21:28:49 +01:00
Christian Brauner
e5acb39db4
af_unix: add comment about cast
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-26 21:28:48 +01:00
Christian Brauner
c6062fcd44
attach: fix unsupported namespaces
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-26 21:28:47 +01:00
Christian Brauner
87834acf2b
commands: lxc_cmd_add_state_client_callback()
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-26 21:28:47 +01:00
Christian Brauner
d8c81a7c38
commands: handle older clients elegantly
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-26 21:28:46 +01:00
Christian Brauner
d111035402
commands: send ENOSYS response
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-26 21:28:46 +01:00
Christian Brauner
e040efb6dc
cgroups: introduce fd-only cgroup attach
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-26 21:28:45 +01:00
Christian Brauner
b106d22f85
commands: introduce LXC_CMD_GET_CGROUP_CTX
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-26 21:28:40 +01:00
Christian Brauner
89b2bfaa0f
utils: add copy_struct_to_client()
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-26 21:28:39 +01:00
Christian Brauner
aa659ba547
log: add syswarn_set()
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-26 21:28:38 +01:00
Christian Brauner
40f99fdc6c
utils: add copy_struct_from_client()
...
Which is our variant of copy_struct_from_user() that Aleksa and I added to the
kernel.
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-26 21:28:38 +01:00
Christian Brauner
8302a79b15
macro: add min() macro
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-26 21:28:37 +01:00
Christian Brauner
79d9c3af6c
cgroups: allow cgroup fd batch retrieval
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-26 21:28:36 +01:00
Christian Brauner
b1b140aa1c
commands: add LXC_CMD_GET_CGROUP_FD
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-26 21:28:36 +01:00
Christian Brauner
089f3f30b1
commands: introduce rsp_many_fds()
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-26 21:28:35 +01:00
Christian Brauner
49fbd9fac6
commands: introduce rsp_one_fd()
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-26 21:28:34 +01:00
Christian Brauner
35718bd4d5
commands: introduce lxc_cmd_rsp_send_reap()
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-26 21:28:33 +01:00
Christian Brauner
c1069ae56d
commands: be more explicit during command processing
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-26 21:28:33 +01:00
Christian Brauner
c4133ca171
state: _never_ return NULL from lxc_state2str()
...
Cc: Thomas Parrott <thomas.parrott@canonical.com>
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-26 21:28:32 +01:00
Christian Brauner
51f11dfb59
cgroups: add cgroup_fds() helper
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-26 21:28:31 +01:00
Christian Brauner
9ee81bc454
af_unix: improve SCM_RIGHTS file descriptor retrieval
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-26 21:28:30 +01:00
Christian Brauner
ba9f37a52a
commands: tweak validate_string_request()
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-26 21:28:30 +01:00