2
0
mirror of git://github.com/lxc/lxc synced 2025-08-30 12:52:04 +00:00

10509 Commits

Author SHA1 Message Date
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