Christian Brauner
c47e4b6ac0
busybox: simplify
...
Start relying on autodev for busybox template and wipe all the device
creation.
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-10-14 17:22:23 +02:00
Christian Brauner
79dc690fa7
busybox: mount sys:ro
...
There's no udev so sys doesn't need to be read-write.
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-10-14 17:22:22 +02:00
Christian Brauner
3d95eb893f
terminal: use /dev/ptmx when allocating pty devices from devpts instances we didn't mount ourselves
...
When we aren't told what devpts instance to allocate from we assume it
is the one in the caller's mount namespace.
This poses a slight complication, a lot of distros will change
permissions on /dev/ptmx so it can be opened by unprivileged users but
will not change permissions on /dev/pts/ptmx itself. In addition,
/dev/ptmx can either be a symlink, a bind-mount, or a separate device
node. So we need to allow for fairly lax lookup.
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-10-14 17:22:18 +02:00
Christian Brauner
0f9f5ec0f7
file_utils: add same_device() helper
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-10-14 17:22:17 +02:00
Po-Hsu Lin
7381a5de50
tests: set lxc-test-automount/createconfig/snapdeps as executable
...
The debian/tests/exercise script will skip those non-executable tests
in src/test, thus these three tests were never get tested.
Signed-off-by: Po-Hsu Lin <po-hsu.lin@canonical.com>
2021-10-14 17:22:12 +02:00
Christian Brauner
65cb2231ad
cgroups: simplify offline and isolated cpu handling
...
Don't create separate cpumask arrays for them. Just clear the ones that
are set in the original cpumask array.
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-10-14 17:22:11 +02:00
Christian Brauner
23ef48f0d8
cgroups: use semantically clean check in cpuset1_cpus_initialize()
...
The variable is a pointer not a integer.
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-10-14 17:22:10 +02:00
Christian Brauner
7b8746b976
cgroups: fix cpumask handling
...
Link: https://discuss.linuxcontainers.org/t/lxc-4-0-9-lxc-start-sigabrt-on-systems-with-defined-offline-cpus-and-a-total-number-of-cpus-divisible-by-32
Signed-off-by: Jim Ferrigno <jim.ferrigno@oracle.com>
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-10-14 17:22:09 +02:00
Christian Brauner
b6907488b3
cgroups: fix comments in cpuset1_initialize()
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-10-14 17:22:08 +02:00
Christian Brauner
0a5347ddbe
Revert "cgroups: fix cpu bitmasks"
...
This reverts commit e0f7296a6d537f0d2eb5fbc6d7f9e007d11d516a.
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-10-14 17:22:07 +02:00
Christian Brauner
4bd5942f75
cgroups: s/calloc/zalloc/g
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-10-14 17:22:06 +02:00
Jim Ferrigno
38db899380
cgroups: fix cpu bitmasks
...
Link: https://discuss.linuxcontainers.org/t/lxc-4-0-9-lxc-start-sigabrt-on-systems-with-defined-offline-cpus-and-a-total-number-of-cpus-divisible-by-32
Signed-off-by: Jim Ferrigno <jim.ferrigno@oracle.com>
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-10-14 17:22:05 +02:00
Christian Brauner
eda2b7467e
mainloop: disable IORING_SETUP_SQPOLL for now
...
It's a bit more complicated to use then I envisioned here.
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-10-14 17:22:02 +02:00
Christian Brauner
3f3e75c4e2
mainloop: add comments about multishot and oneshot cleanup
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-10-14 17:22:02 +02:00
Christian Brauner
620f6c9caa
mainloop: s/handler_name/name/g
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-10-14 17:22:00 +02:00
Christian Brauner
1306659ecb
mainloop: move variables into tighter scope
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-10-14 17:21:59 +02:00
Christian Brauner
14f8022a59
memory_utils: make cleanup handler as unused
...
They are sometimes used to just clean something up automatically at end
of scope but the variables themselves might not be actually used.
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-10-14 17:21:57 +02:00
Christian Brauner
502998699a
mainloop: fix io_uring cleanup handling
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-10-14 17:21:56 +02:00
Christian Brauner
4fc38d526e
mainloop: remove CANCEL_RAISE flag
...
This is really not needed since we're not checking it anywhere anyway.
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-10-14 17:21:54 +02:00
Christian Brauner
771161376e
mainloop: minor fixes
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-10-14 17:21:53 +02:00
Tycho Andersen
eb218b3943
mainloop: s,sys/poll,poll
...
I get the following warning (which then fails the build because of
-Werror):
In file included from mainloop.c:11:
/usr/include/sys/poll.h:1:2: error: #warning redirecting incorrect #include <sys/poll.h> to <poll.h> [-Werror=cpp]
1 | #warning redirecting incorrect #include <sys/poll.h> to <poll.h>
| ^~~~~~~
Signed-off-by: Tycho Andersen <tycho@tycho.pizza>
2021-10-14 17:21:51 +02:00
Simon Deziel
2aad32dca2
lxc-download: add LXC version/compat level to user-agent
...
Signed-off-by: Simon Deziel <simon.deziel@canonical.com>
2021-10-14 17:21:50 +02:00
Christian Brauner
b1f9aee5c4
mainloop: add io_uring support
...
Users can choose to compile liblxc with io_uring support. This will
cause LXC to use io_uring instead of epoll.
We're using both, io_uring's one-shot and multi-shot poll mode depending
on the type of handler.
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-10-14 17:21:46 +02:00
Thomas Parrott
aa96b8e35b
doc: Adds mention of ability to specify manual IPv4 broadcast address
...
See also https://github.com/lxc/lxd/pull/9103
Signed-off-by: Thomas Parrott <thomas.parrott@canonical.com>
2021-10-14 17:21:42 +02:00
Christian Brauner
5210178135
tree-wide: s/lxc_epoll_descr/lxc_async_descr/g
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-10-14 17:21:39 +02:00
Christian Brauner
cff59253a0
conf: log session keyring failure on WARN level
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-10-14 17:21:37 +02:00
Christian Brauner
27217f7c54
cgroups: log at warning instead of error level
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-10-14 17:21:35 +02:00
Edênis Freindorfer Azevedo
983c0dd85a
Improve bash completion.
...
Use as much as possible from each command `--help` for completion.
Some options require a long list of completions that should be dumped by
some command option. These are not added here yet.
Examples of those are: `lxc-info --config`, `lxc-execute --define` and
`lxc-start --define`.
Signed-off-by: Edenis Freindorfer Azevedo <edenisfa@gmail.com>
2021-10-14 17:21:32 +02:00
Edênis Freindorfer Azevedo
2d317f2596
Create rules to add/remove symlinks for bash completion.
...
By default, there is no out-of-the-box bash completion for lxc tools.
This is due to dynamic loading of completions, that requires the
completion filename to be the same as the command (e.g. `lxc-start`
expects a completion filename `lxc-start`). But all commands are in file
`lxc`, which is not read.
Signed-off-by: Edenis Freindorfer Azevedo <edenisfa@gmail.com>
2021-10-14 17:21:29 +02:00
Edênis Freindorfer Azevedo
ce97c9de05
Fix typo on documentation for lxc-{attach,execute}
.
...
According to `[1]`, `lxc-attach` uses `-u,-g` instead of `--u,--g`.
According to `[2]`, `lxc-execute` uses `-u,-g` instead of `--u,--g`.
- [1] https://github.com/lxc/lxc/blob/stable-4.0/src/lxc/tools/lxc_attach.c#L131-L132
- [2] https://github.com/lxc/lxc/blob/stable-4.0/src/lxc/tools/lxc_execute.c#L59-L60
Signed-off-by: Edenis Freindorfer Azevedo <edenisfa@gmail.com>
2021-10-14 17:21:23 +02:00
Edênis Freindorfer Azevedo
b8c4234ef1
Fix typo on documentation for lxc-autostart
.
...
According to `[1,2]`, this command has `--groups` instead of `--group`.
- [1] https://github.com/lxc/lxc/blob/stable-4.0/src/lxc/tools/lxc_autostart.c#L64
- [2] https://github.com/lxc/lxc/blob/stable-4.0/src/lxc/tools/lxc_autostart.c#L84
Signed-off-by: Edenis Freindorfer Azevedo <edenisfa@gmail.com>
2021-10-14 17:21:18 +02:00
Stéphane Graber
cec7cb14b2
Merge pull request #3969 from brauner/2021-09-03.fixes.stable
...
tests: fix config file tests
2021-09-13 08:41:51 -04:00
Christian Brauner
671a65391f
tests: fix config file tests
...
Link: https://bugs.launchpad.net/bugs/1943441
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-09-13 14:11:05 +02:00
Stéphane Graber
5cbc29d1eb
doc/api-extensions: Grammar fix
...
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
2021-08-09 19:42:00 +02:00
Christian Brauner
c9d9085b3f
lsm/apparmor: use cleanup macro
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-08-09 17:38:41 +02:00
Christian Brauner
fcf3e60765
lsm/apparmor: log failure to write AppArmor profile
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-08-09 17:38:39 +02:00
Christian Brauner
a80856010c
network: fix container with empty network namespaces
...
Fixes : #3922
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-08-09 17:38:36 +02:00
Christian Brauner
60f6207ac2
tests: add test for rootfs mount options
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-08-03 16:18:11 +02:00
Christian Brauner
7997d7fb1c
conf: allow mount options for rootfs when using new mount api
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-08-03 16:18:10 +02:00
Christian Brauner
c2c8a897a8
mount_utils: make some mount helpers static inline
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-08-03 16:18:09 +02:00
Christian Brauner
72acfa2795
conf: let parse_vfs_attr() handle legacy mount flags as well
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-08-03 16:18:09 +02:00
Christian Brauner
88c348f376
conf: log failure to create tty mountpoint
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-08-03 16:18:08 +02:00
Christian Brauner
2d7001d9d8
conf: refactor lxc_recv_ttys_from_child()
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-08-03 16:18:07 +02:00
Christian Brauner
bca3805913
conf: fix logging in lxc_idmapped_mounts_child()
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-08-03 16:18:06 +02:00
Christian Brauner
124f9b8b9e
mount_utils: introduce mount_at()
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-08-03 16:18:02 +02:00
Christian Brauner
02998e6c4d
terminal: fail on unknown error during TIOCGPTPEER
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-08-02 14:45:21 +02:00
Christian Brauner
4c75aa656c
terminal: move native terminal allocation from error logging to info
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-08-02 14:45:20 +02:00
Christian Brauner
e33da9473f
conf: handle kernels without TIOCGPTPEER
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-08-02 14:45:19 +02:00
Christian Brauner
617195aa62
start: allow containers to use a native console
...
After all of the previous rework we can make it possible for a container
to use a console allocated from the container's devpts instance.
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-08-02 14:45:18 +02:00
Christian Brauner
28321bd615
terminal: remove unused argument from lxc_devpts_terminal()
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-08-02 14:45:17 +02:00