Commit Graph

11006 Commits

Author SHA1 Message Date
Christian Brauner
90658f1604
tests: add tests for supported architectures
Ensure that we detect all supported architectures and don't regress
recognizing them.

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-05-09 16:26:53 +02:00
Christian Brauner
cae2b16fda
confile: re-add aarch64 architecture
Apparenty we dropped this when we cleaned up architecture handling.

Fixes: #3832
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-05-09 15:45:42 +02:00
Christian Brauner
1910c22889
Merge pull request #3831 from sjuxax/zfs-fix
Skip rootfs pinning for ZFS roots.
2021-05-09 14:28:23 +02:00
Jeff Cook
0dd4788a84 Reflow ZFS check to follow the style of the overlayfs return.
Per https://github.com/lxc/lxc/pull/3831#discussion_r628865713

Signed-off-by: Jeff Cook <jeff@jeffcook.io>
2021-05-09 05:40:17 -06:00
Jeff Cook
4bc6ecbfb7 Skip rootfs pinning for ZFS roots.
Signed-off-by: Jeff Cook <jeff@jeffcook.io>
2021-05-08 21:18:54 -06:00
Stéphane Graber
5b508c3713
Merge pull request #3829 from brauner/2021-05-07.fixes
doc: document new idmap= option for lxc.rootfs.options
2021-05-07 11:52:05 -04:00
Christian Brauner
1852be9048
doc: document new idmap= option for lxc.rootfs.options
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-05-07 17:27:06 +02:00
Stéphane Graber
ce86ae557a
Merge pull request #3827 from brauner/2021-05-06.cap_setfcap
conf: handle kernels with CAP_SETFCAP
2021-05-06 12:42:23 -04:00
Christian Brauner
86c780115a
conf: handle kernels with CAP_SETFCAP
LXC is being very clever and sometimes maps the caller's uid into the
child userns. This means that the caller can technically write fscaps
that are valid in the ancestor userns (which can be a security issue in
some scenarios) so newer kernels require CAP_SETFCAP to do this. Until
newuidmap/newgidmap are updated to account for this simply write the
mapping directly in this case.

Cc: stable-4.0
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-05-06 18:16:45 +02:00
Christian Brauner
7495196098
oss-fuzz: add basic cgroup_init()/cgroup_exit() fuzzing
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-05-04 18:47:13 +02:00
Stéphane Graber
78af4d9c90
Merge pull request #3825 from brauner/2021-05-04.fixes
lxc.arch fixes
2021-05-04 10:54:52 -04:00
Christian Brauner
3a88181962
attach: introduce explicit personality macro
Introduce LXC_ATTACH_DETECT_PERSONALITY to make it explicit what is
happening instead of using -1.

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-05-04 16:16:36 +02:00
Christian Brauner
64a04c848a
conf: add personality_t
Catch errors in personality handling better.

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-05-04 16:09:48 +02:00
Christian Brauner
7fd384d11b
attach_options: unbreak header
In a moment of idioticity I switch -1 with 0xffffffff in the header
definition but we use -1 to autodetect.

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-05-04 15:43:38 +02:00
Christian Brauner
7c43fa56e7
conf: rework lxc_config_parse_arch()
Fix architecture parsing. So far we couldn't really differ between "want
default architecture" and "failed to parse requested architecture"
because the -1 return value means both. Fix this by using the return
value only to indicate success or failure and return the parsed
personality in a return argument.

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-05-04 15:28:49 +02:00
Christian Brauner
9c601e1f99
conf: tweak setup_personality()
Use the dedicated LXC_ARCH_UNCHANGED macro everywhere instead of relying
on -1 being correct.

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-05-04 15:28:48 +02:00
Christian Brauner
3860899204
tree-wide: make personality codepaths unconditional
Now that we have the infra to make personality handling unconitional
remove the ifndefs everywhere.

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-05-04 15:27:44 +02:00
Christian Brauner
3857c4ebf0
syscalls: wrap personality syscall if undefined
There's no need to making personality handling conditional as it has
been around for such a long time that only weird systems wouldn't have
support for it. And especially if the user requested a specific
personality to be set but the system doesn't support the personality
syscall we should loudly fail instead of moving on.

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-05-04 15:15:28 +02:00
Christian Brauner
1d74176da2
commands: log at debug not info level when receiving file descriptors
Don't spam the logs because we do receive a lot of file descriptors.

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-05-04 15:15:08 +02:00
Christian Brauner
5f2a6ec4e1
confile: make per_name struct static
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-05-04 15:14:09 +02:00
Christian Brauner
13723cb9e5
Merge pull request #3823 from evverx/gcc-11-workaround
string_utils: get around GCC-11 false positives
2021-05-04 05:10:35 +02:00
Stéphane Graber
3176d82e3a
Merge pull request #3824 from evverx/sanitizers-follow-ups
github: remove the dh-* packages
2021-05-03 19:59:44 -04:00
Evgeny Vereshchagin
6d345aa40d string_utils: get around GCC-11 false positives
by getting rid of stpncpy

Tested with gcc (GCC) 11.1.1 20210428 (Red Hat 11.1.1-1)

Closes https://github.com/lxc/lxc/issues/3752

Signed-off-by: Evgeny Vereshchagin <evvers@ya.ru>
2021-05-03 23:07:20 +00:00
Evgeny Vereshchagin
bfb24cf0fd github: also pass the j option to make
Signed-off-by: Evgeny Vereshchagin <evvers@ya.ru>
2021-05-03 22:35:19 +00:00
Evgeny Vereshchagin
72f83931b3 github: remove the dh-* packages
We don't build any packages there so it seems we don't need
those packages any more. Apart from that, it should make the
script work on Ubuntu Hirsute where dh-systemd was merged into
debhelper and is no longer available.

Signed-off-by: Evgeny Vereshchagin <evvers@ya.ru>
2021-05-03 22:33:17 +00:00
Stéphane Graber
705b2c32d1
Merge pull request #3819 from dev-aaront-org/console-mode-messages
conf: fix console chmod error log messages
2021-05-03 08:03:25 -04:00
Christian Brauner
58f5195d67
Merge pull request #3822 from stgraber/master
github: Run apt-get update in sanitizer test
2021-05-03 14:03:14 +02:00
Stéphane Graber
4919245709
Merge pull request #3820 from brauner/2021-05-03.lxc_monitord.log
lxc_monitord: remove monitord log
2021-05-03 08:03:03 -04:00
Stéphane Graber
5687858702
github: Run apt-get update in sanitizer test
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
2021-05-03 08:02:14 -04:00
Christian Brauner
8ee2f36fc3
lxc_monitord: remove monitord log
The tool is effectively unused with current master so removing the log
should be ok by now. Let's remove the log to avoid issues such as #3747.

Fixes #3747
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-05-03 08:59:02 +02:00
Christian Brauner
86deb111ae
Merge pull request #3818 from evverx/disable-logs-on-oss-fuzz
oss-fuzz: always turn off logging on OSS-Fuzz
2021-05-01 08:29:20 +02:00
Aaron Thompson
07020e481a conf: fix console chmod error log messages
Signed-off-by: Aaron Thompson <dev@aaront.org>
2021-05-01 01:20:14 +00:00
Stéphane Graber
122413ad4e
Merge pull request #3817 from brauner/2021-04-30.fixes
cgroups: fix fallback attach codepath
2021-04-30 10:03:58 -04:00
Christian Brauner
112ccbc913
cgroups: fix fallback attach codepath
When we attach to an old server the server can return ENOSYS instead of
ENOCGROUP2 which causes LXC to abort the attach unnecessary. Fix this!

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-04-30 15:49:39 +02:00
Stéphane Graber
b75c91deeb
Merge pull request #3816 from brauner/2021-04-30/fixes
storage: fix dup_cloexec() call
2021-04-30 08:45:18 -04:00
Evgeny Vereshchagin
a390325fdf oss-fuzz: always turn off logging on OSS-Fuzz
Apparently /proc/self/cmd can't be used (reliably) on OSS-Fuzz to figure out
whether the code is run inside the fuzz targets, which causes the
fuzz targets to fill the filesystem with log files.

Related: https://github.com/google/oss-fuzz/issues/5509
Should address https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=33835

Signed-off-by: Evgeny Vereshchagin <evvers@ya.ru>
2021-04-30 11:19:21 +00:00
Christian Brauner
2570cdf3fe
storage: fix dup_cloexec() call
Fixes: Coverity 1477399
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-04-30 10:35:06 +02:00
Stéphane Graber
7a2bd5db2c
Merge pull request #3814 from brauner/2021-04-28.fixes
api-extensions: add entry for idmapped_mounts
2021-04-28 09:52:30 -04:00
Christian Brauner
fa3a003464
api-extensions: add entry for idmapped_mounts
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-04-28 15:39:37 +02:00
Stéphane Graber
6d93802001
Merge pull request #3812 from brauner/2021-04-28.fixes
storage/dir: cleanup mount code
2021-04-28 08:57:16 -04:00
Christian Brauner
94363265bd
Merge pull request #3802 from evverx/build-system-fuzzers
oss-fuzz: switch to --enable-fuzzers
2021-04-28 11:59:26 +02:00
Christian Brauner
60dc8124d8
storage/dir: cleanup mount code
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-04-28 11:33:37 +02:00
Christian Brauner
a246068620
storage/dir: remove error handling down
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-04-28 11:27:58 +02:00
Christian Brauner
b6234735b2
storage/dir: source can't be empty
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-04-28 11:26:59 +02:00
Christian Brauner
196a800af5
storage/dir: use "source" and "target" as terms
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-04-28 11:26:11 +02:00
Christian Brauner
31278920a8
storage/dir: retrieve proper source path later
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-04-28 11:24:15 +02:00
Christian Brauner
e2e3c93878
storage/dir: use clear error messages
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-04-28 11:23:03 +02:00
Christian Brauner
0b2e168841
storage/dir: bdev->dest can't be empty
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-04-28 11:21:03 +02:00
Christian Brauner
0476883131
dir: use mnt_opts->data instead of mntdata
Fixes: https://launchpadlibrarian.net/535845165/buildlog_ubuntu-focal-s390x.lxc_1%3A4.0.6+master~20210427-2321-0ubuntu1~focal_BUILDING.txt.gz
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-04-28 11:19:47 +02:00
Stéphane Graber
8f7b7b8d42
Merge pull request #3811 from brauner/2021-04-25.idmapped_mounts.rootfs
rootfs rework
2021-04-27 18:42:41 -04:00