]>
git.ipfire.org Git - thirdparty/lxc.git/log
Christian Brauner [Sat, 17 Feb 2018 18:41:04 +0000 (19:41 +0100)]
cgfsng: cgfsng_escape()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 17 Feb 2018 18:40:00 +0000 (19:40 +0100)]
cgfsng: recursive_count_nrtasks()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 17 Feb 2018 18:39:33 +0000 (19:39 +0100)]
cgfsng: recursive_count_nrtasks()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 17 Feb 2018 18:38:59 +0000 (19:38 +0100)]
cgfsng: cgfsng_mount()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 17 Feb 2018 18:35:03 +0000 (19:35 +0100)]
cgfsng: mount_cgroup_full()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 17 Feb 2018 18:31:16 +0000 (19:31 +0100)]
cgfsng: cgfsng_chown()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 17 Feb 2018 18:29:02 +0000 (19:29 +0100)]
cgfsng: cgfsng_enter()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 17 Feb 2018 18:27:52 +0000 (19:27 +0100)]
cgfsng: cgfsng_create()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 17 Feb 2018 18:26:42 +0000 (19:26 +0100)]
cgfsng: remove_path_for_hierarchy()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 17 Feb 2018 18:25:20 +0000 (19:25 +0100)]
cgfsng: create_path_for_hierarchy()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 17 Feb 2018 18:24:39 +0000 (19:24 +0100)]
cgfsng: cg_unified_create_cgroup()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 17 Feb 2018 18:23:24 +0000 (19:23 +0100)]
cgfsng: recursive_destroy()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 17 Feb 2018 18:22:31 +0000 (19:22 +0100)]
cgfsng: cgfsng_init()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 17 Feb 2018 18:21:30 +0000 (19:21 +0100)]
cgfsng: cg_unified_get_current_cgroup()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 17 Feb 2018 18:20:54 +0000 (19:20 +0100)]
cgfsng: cg_is_pure_unified()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 17 Feb 2018 18:20:23 +0000 (19:20 +0100)]
cgfsng: cg_hybrid_init()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 17 Feb 2018 18:18:08 +0000 (19:18 +0100)]
cgfsng: lxc_cgfsng_print_basecg_debuginfo()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 17 Feb 2018 18:17:43 +0000 (19:17 +0100)]
cgfsng: lxc_cgfsng_print_hierarchies()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 17 Feb 2018 18:16:56 +0000 (19:16 +0100)]
cgfsng: trim()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 17 Feb 2018 18:16:20 +0000 (19:16 +0100)]
cgfsng: must_append_string()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 17 Feb 2018 18:15:52 +0000 (19:15 +0100)]
cgfsng: cg_hybrid_get_current_cgroup()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 17 Feb 2018 18:15:17 +0000 (19:15 +0100)]
cgfsng: controller_in_clist()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 17 Feb 2018 18:14:48 +0000 (19:14 +0100)]
cgfsng: copy_to_eol()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 17 Feb 2018 18:14:14 +0000 (19:14 +0100)]
cgfsng: cg_hybrid_get_mountpoint()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 17 Feb 2018 18:12:51 +0000 (19:12 +0100)]
cgfsng: cg_hybrid_get_controllers()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 17 Feb 2018 18:10:49 +0000 (19:10 +0100)]
cgfsng: all_controllers_found()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 17 Feb 2018 18:09:50 +0000 (19:09 +0100)]
cgfsng: controller_found()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 17 Feb 2018 18:09:18 +0000 (19:09 +0100)]
cgfsng: controller_list_is_dup()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 17 Feb 2018 18:08:38 +0000 (19:08 +0100)]
cgfsng: controller_lists_intersect()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 17 Feb 2018 18:07:56 +0000 (19:07 +0100)]
cgfsng: cg_legacy_handle_cpuset_hierarchy()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 17 Feb 2018 18:04:05 +0000 (19:04 +0100)]
cgfsng: copy_parent_file()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 17 Feb 2018 18:00:33 +0000 (19:00 +0100)]
cgfsng: cg_legacy_filter_and_set_cpus()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 17 Feb 2018 17:55:15 +0000 (18:55 +0100)]
cgfsng: get_max_cpus()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 17 Feb 2018 17:54:10 +0000 (18:54 +0100)]
cgfsng: lxc_cpumask_to_cpulist()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 17 Feb 2018 16:16:52 +0000 (17:16 +0100)]
cgfsng: lxc_cpumask()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 17 Feb 2018 16:12:30 +0000 (17:12 +0100)]
cgfsng: get_hierarchy()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 17 Feb 2018 16:11:05 +0000 (17:11 +0100)]
cgfsng: must_append_controller()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 17 Feb 2018 16:09:26 +0000 (17:09 +0100)]
cgfsng: string_in_list()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 17 Feb 2018 16:08:58 +0000 (17:08 +0100)]
cgfsng: append_null_to_list()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 17 Feb 2018 16:08:06 +0000 (17:08 +0100)]
cgfsng: add me to authors
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 17 Feb 2018 16:06:56 +0000 (17:06 +0100)]
cgfsng: move cg_legacy_must_prefix_named()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 17 Feb 2018 16:03:38 +0000 (17:03 +0100)]
cgfsng: cg_legacy_must_prefix_named()
s/must_prefix_named/cg_legacy_must_prefix_named/
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 17 Feb 2018 15:51:03 +0000 (16:51 +0100)]
cgfsng: free_string_list()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 17 Feb 2018 15:48:08 +0000 (16:48 +0100)]
cgfsng: fully document remaining variables
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 17 Feb 2018 15:45:01 +0000 (16:45 +0100)]
cgfsng: fully document struct cgfsng_handler_data
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 17 Feb 2018 15:37:35 +0000 (16:37 +0100)]
cgfsng: fully document struct hierarchy
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 17 Feb 2018 15:32:16 +0000 (16:32 +0100)]
cgfsng: order includes
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Shukui Yang [Fri, 16 Feb 2018 04:16:40 +0000 (23:16 -0500)]
confile: add "force" to cgroup:{mixed,ro,rw}
This lets users specify
lxc.mount.auto = cgroup:mixed:force
or
lxc.mount.auto = cgroup:ro:force
or
lxc.mount.auto = cgroup:rw:force
When cgroup namespaces are supported LXC will not mount cgroups for the
container since it assumes that the init system will mount cgroups itself if it
wants to. This assumption already broke when users wanted to run containers
without CAP_SYS_ADMIN. For example, systemd based containers wouldn't start
since systemd needs to mount cgroups (named systemd hierarchy for legacy
cgroups and the unified hierarchy for unified cgroups) to track processes. This
problem was solved by detecting whether the container had CAP_SYS_ADMIN. If it
didn't we performed the cgroup mounts for it.
However, there are more cases when we should be able to mount cgroups for the
container when cgroup namespaces are supported:
- init systems not mounting cgroups themselves:
A init system that doesn't mount cgroups would not have cgroups available
especially when combined with custom LSM profiles to prevent cgroup
{u}mount()ing inside containers.
- application containers:
Application containers will usually not mount by cgroups themselves.
- read-only cgroups:
It is useful to be able to mount cgroups read-only to e.g. prevent
changing cgroup limits from inside the container while at the same time
allowing the applications to perform introspection on their own cgroups. This
again is mostly useful for application containers. System containers running
systemd will usually not work correctly when cgroups are mounted read-only.
To be fair, all of those use-cases could be covered by custom hooks or
lxc.mount.entry entries but exposing it through lxc.mount.auto takes care of
setting correct mount options and adding the necessary logic to e.g. mount
filesystem read-only correctly.
Currently we only extend this to cgroup:{mixed,ro,rw} but technically there's
no reason not to enable the same behavior for cgroup-full:{mixed,ro,rw} as
well. If someone requests this we can simply treat it as a bug and add "force"
for cgroup-full.
Replaces #2136.
Signed-off-by: Shukui Yang <yangshukui@huawei.com>
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 17 Feb 2018 12:07:14 +0000 (13:07 +0100)]
README: add coverity
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Fri, 16 Feb 2018 23:04:30 +0000 (00:04 +0100)]
console: ensure that fd is marked EBADF
If the handler closes the file descriptor for the peer or master fd it is
crucial that we mark it as -EBADF. This will prevent lxc_console_delete()
from calling close() on an already closed file descriptor again. I've
observed the double close in the attach code.
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Fri, 16 Feb 2018 22:18:54 +0000 (23:18 +0100)]
start: don't call close on invalid file descriptor
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Fri, 16 Feb 2018 19:02:44 +0000 (20:02 +0100)]
utils: fix lxc_p{close,open}()
If a file descriptor fd is opened by fdopen() and associated with a stream f
will **not** have been dup()ed. This means that fclose(f) will also close the
fd. So never call close(fd) after fdopen(fd) succeeded.
This fixes a double close() Stéphane and I observed when debugging on aarch64
and armf.
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Fri, 16 Feb 2018 14:56:24 +0000 (15:56 +0100)]
tests: remove lxc-test-ubuntu
This is really taking a long time for not a lot of benefit.
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Fri, 16 Feb 2018 14:24:19 +0000 (15:24 +0100)]
CODING_STYLE: add section for str{n}cmp()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Wed, 14 Feb 2018 23:28:42 +0000 (00:28 +0100)]
cgroups: use correct mask for chmod()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Wed, 14 Feb 2018 12:04:59 +0000 (13:04 +0100)]
CODING_STYLE: add CODING_STYLE.md
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Wed, 14 Feb 2018 12:04:48 +0000 (13:04 +0100)]
CONTRIBUTING: update
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Tue, 13 Feb 2018 20:00:46 +0000 (21:00 +0100)]
cgfsng: simplifications and fixes
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 10 Feb 2018 22:25:18 +0000 (23:25 +0100)]
lxclock: remove pthread_atfork_handlers
They shouldn't be needed anymore.
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Yifeng Tan [Mon, 12 Feb 2018 12:01:32 +0000 (20:01 +0800)]
conf: support mount propagation
Closes #810.
Signed-off-by: Yifeng Tan <tanyifeng1@huawei.com>
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
LiFeng [Mon, 12 Feb 2018 12:22:47 +0000 (07:22 -0500)]
Fix lxc-console hang
The variable 'descr' is mistakenly covered with 'descr_console'.
Signed-off-by: LiFeng <lifeng68@huawei.com>
LiFeng [Mon, 12 Feb 2018 14:45:22 +0000 (09:45 -0500)]
Modify .gitignore
add:
src/lxc/cmd/lxc-checkconfig
src/lxc/cmd/lxc-update-config
Signed-off-by: LiFeng <lifeng68@huawei.com>
Christian Brauner [Sat, 10 Feb 2018 11:54:31 +0000 (12:54 +0100)]
console: they are really not necessary
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Tycho Andersen [Fri, 9 Feb 2018 13:26:31 +0000 (13:26 +0000)]
fix userns helper error handling
In both of these cases if there is actually an error, we won't close the
pipe and the api call will hang. Instead, let's be sure to close the pipe
before waiting, so that it doesn't hang.
Signed-off-by: Tycho Andersen <tycho@tycho.ws>
Christian Brauner [Thu, 8 Feb 2018 15:06:31 +0000 (16:06 +0100)]
coverity: #
1425971
Dereference after null check
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Thu, 8 Feb 2018 14:42:16 +0000 (15:42 +0100)]
coverity: #
1426734
Argument cannot be negative
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Thu, 8 Feb 2018 14:31:59 +0000 (15:31 +0100)]
coverity: #
1429139
Resource leak
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Serge Hallyn [Thu, 8 Feb 2018 19:04:23 +0000 (13:04 -0600)]
Restore most cases of am_guest_unpriv
The only cases where we really need to be privileged with respect
to the host is when we are trying to mknod, and in some cases
to do with a physical network device. This patch leaves the
detection of the network device cases as a TODO.
This should fix the currently broken case of starting a privileged
container with at least one veth nic, nested inside an unprivileged
container.
Cc: Tycho Andersen <tycho@tycho.ws>
Signed-off-by: Serge Hallyn <shallyn@cisco.com>
Serge Hallyn [Thu, 8 Feb 2018 18:06:39 +0000 (12:06 -0600)]
define am_guest_unpriv
Sometimes we want to know whether we are privileged wrt our
namespaces, and sometimes we want to know whether we are priv
wrt init_user_ns.
Signed-off-by: Serge Hallyn <shallyn@cisco.com>
Christian Brauner [Thu, 8 Feb 2018 10:36:41 +0000 (11:36 +0100)]
cgfsng: add required remount flags
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=
9566d6742852c527bf5af38af5cbb878dad75705
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Marcos Paulo de Souza [Wed, 7 Feb 2018 15:06:43 +0000 (13:06 -0200)]
lsm: fix missing @ in function documentation
Signed-off-by: Marcos Paulo de Souza <marcos.souza.org@gmail.com>
Marcos Paulo de Souza [Wed, 7 Feb 2018 14:51:38 +0000 (12:51 -0200)]
selinux: simplify check for default label
Signed-off-by: Marcos Paulo de Souza <marcos.souza.org@gmail.com>
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Marcos Paulo de Souza [Thu, 8 Feb 2018 01:55:13 +0000 (23:55 -0200)]
cgroups: add check for lxc.cgroup.use
Closes #870.
Signed-off-by: Marcos Paulo de Souza <marcos.souza.org@gmail.com>
Christian Brauner [Wed, 7 Feb 2018 10:39:19 +0000 (11:39 +0100)]
templates: CentOS fixes
Issues fixed:
- lxc-centos died about a missing /run directory
- lxc-centos complained about some config files it couldn't modify
- the new container got stuck at startup time for a minute
(literally), waiting for systemd-remount-fs startup script
Of course it still works for RHEL 6, CentOS 6 and 7 as well. I did not
verify earlier CentOS or RHEL releases.
Signed-off-by: Harald Dunkel <harald.dunkel@aixigo.de>
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Wed, 7 Feb 2018 10:27:57 +0000 (11:27 +0100)]
cgfsng: non-functional changes
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
LiFeng [Wed, 7 Feb 2018 16:39:59 +0000 (11:39 -0500)]
cgfsng: do MS_REMOUNT
Perform MS_REMOUNT on mounts with MS_RDONLY.
Signed-off-by: LiFeng <lifeng68@huawei.com>
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Wed, 7 Feb 2018 10:13:48 +0000 (11:13 +0100)]
attach: non-functional changes
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
l00415420 [Wed, 7 Feb 2018 12:39:28 +0000 (07:39 -0500)]
attach: set the container's environment variables
Set the same environment variables that were used when starting the container
when attaching to the container.
Signed-off-by: LiFeng <lifeng68@huawei.com>
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Wed, 31 Jan 2018 16:09:13 +0000 (17:09 +0100)]
cgroups: more consistent naming
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Wed, 31 Jan 2018 15:45:04 +0000 (16:45 +0100)]
cgroups: handle limits on the unified hierarchy
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Wed, 31 Jan 2018 15:42:19 +0000 (16:42 +0100)]
cgroups: cgfsng_set: handle unified hierarchy
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Wed, 31 Jan 2018 15:41:53 +0000 (16:41 +0100)]
cgroups: cgfsng_get: handle unified hierarchy
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Wed, 31 Jan 2018 15:38:55 +0000 (16:38 +0100)]
cgroups: cgfsng_attach: handle unified hierarchy
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Wed, 31 Jan 2018 15:33:17 +0000 (16:33 +0100)]
cgroups: cgfsng_create: handle unified hierarchy
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Wed, 31 Jan 2018 15:25:11 +0000 (16:25 +0100)]
cgroups: get controllers on the unified hierarchy
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Tycho Andersen [Mon, 5 Feb 2018 14:19:25 +0000 (14:19 +0000)]
lxc.init: ignore SIGHUP
see comment for details.
Signed-off-by: Tycho Andersen <tycho@tycho.ws>
Tycho Andersen [Mon, 5 Feb 2018 14:17:48 +0000 (14:17 +0000)]
monitor: send SIGTERM to the container when SIGHUP is received
For the ->execute() case, we want to make sure the application dies when
SIGHUP is received. The next patch will ignore SIGHUP in the lxc monitor,
because tasks inside the container send SIGHUP to init to have it reload
its config sometimes, and we don't want to do that with init.lxc, since it
might actually kill the container if it forwards SIGHUP to the child and
the child can't handle it.
Signed-off-by: Tycho Andersen <tycho@tycho.ws>
Tycho Andersen [Mon, 5 Feb 2018 14:13:18 +0000 (14:13 +0000)]
lxc-init: use SIGKILL after alarm timeout
d76e3e1 inadvertently switched the alarm timeout from sigterm to sigkill.
We really want sigkill here, so let's bring it back.
Signed-off-by: Tycho Andersen <tycho@tycho.ws>
Stéphane Graber [Thu, 1 Feb 2018 14:02:25 +0000 (15:02 +0100)]
debian: We must use iproute on wheezy
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Christian Brauner [Thu, 1 Feb 2018 12:14:36 +0000 (13:14 +0100)]
lsm: do not #ifdefine
Since we stopped linking against AppArmor we can now remove the conditional
compilation.
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 27 Jan 2018 13:43:14 +0000 (14:43 +0100)]
tools: make "-n" optional
This lets users use the tools with "lxc-* -n <container-name>" or
"lxc-* <container-name>".
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Stéphane Graber [Sat, 27 Jan 2018 05:33:07 +0000 (00:33 -0500)]
debian: Use iproute2 instead of iproute
The package has pretty much always been iproute2 with iproute being an
alias for it, the alias is now gone so we need to use iproute2.
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Tycho Andersen [Fri, 26 Jan 2018 21:21:51 +0000 (21:21 +0000)]
better unprivileged detection
In particular, if we are already in a user namespace we are unprivileged,
and doing things like moving the physical nics back to the host netns won't
work. Let's do the same thing LXD does if euid == 0: inspect
/proc/self/uid_map and see what that says.
Signed-off-by: Tycho Andersen <tycho@tycho.ws>
Tycho Andersen [Fri, 26 Jan 2018 17:43:12 +0000 (17:43 +0000)]
better check for lock dir
Consider the case where we're running in a user namespace but in the host's
mount ns with the host's filesystem (something like
lxc-usernsexec ... lxc-execute ...), in this case, we'll be euid 0, but we
can't actually write to /run. Let's improve this locking check to make sure
we can actually write to /run before we decide to actually use it as our
locking dir.
Signed-off-by: Tycho Andersen <tycho@tycho.ws>
duguhaotian [Fri, 26 Jan 2018 13:07:58 +0000 (21:07 +0800)]
[cgfsng] show wrong errno
lxc_cgroup_set_data: h = get_hierarchy(controller);
if h is NULL, now errno is old, it donot set new one.
And then,
cgfsng_setup_limits:
if (lxc_cgroup_set_data(cg->subsystem, cg->value, d)) {
if (do_devices && (errno == EACCES ||
errno == EPERM)) {
WARN("Error setting %s to %s for %s",
cg->subsystem, cg->value,
d->name);
continue;
}
SYSERROR("Error setting %s to %s for
%s",
cg->subsystem, cg->value,
d->name);
goto out;
}
SYSERROR will show old errno, make me confused.
Signed-off-by: duguhaotian <duguhaotian@gmail.com>
Marcos Paulo de Souza [Tue, 23 Jan 2018 00:04:03 +0000 (22:04 -0200)]
network.c: Remove ip_forward_set and callers
The last user of ip_forward_set, lxc_ip_forward_on and
lxc_ip_forward_off was in 2009:
commit
92d385229be040cf034ac6efd9405b7bdfe06a3e
Author: Daniel Lezcano <dlezcano@fr.ibm.com>
Date: Thu Oct 22 15:33:40 2009 +0200
remove test directory
These functions are not called anymore.
Signed-off-by: Marcos Paulo de Souza <marcos.souza.org@gmail.com>
Christian Brauner [Mon, 22 Jan 2018 11:14:21 +0000 (12:14 +0100)]
autotools: do not link against libapparmor
Since we write the label directly without going through the AppArmor API it
doesn't make sense to link against it.
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Mon, 22 Jan 2018 11:02:44 +0000 (12:02 +0100)]
apparmor: do not call aa_change_profile()
We can simply write the label ourselves. There's no magic happening.
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Mon, 22 Jan 2018 10:54:21 +0000 (11:54 +0100)]
lsm: add lsm_process_label_set_at()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Mon, 22 Jan 2018 09:54:38 +0000 (10:54 +0100)]
lsm: add lsm_process_label_fd_get()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>