]>
git.ipfire.org Git - thirdparty/lxc.git/log
Christian Brauner [Wed, 21 Feb 2018 09:13:12 +0000 (10:13 +0100)]
utils: include linux/types.h
Closes #2178.
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Wed, 21 Feb 2018 09:06:56 +0000 (10:06 +0100)]
doc: document cgroup-full:{mixed,ro,rw}:force
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Serge Hallyn [Mon, 19 Feb 2018 18:15:36 +0000 (12:15 -0600)]
Merge pull request #2175 from brauner/2018-02-17/coding_style_fixes
tree-wide: coding style + fixes
Christian Brauner [Mon, 19 Feb 2018 11:56:40 +0000 (12:56 +0100)]
cgroups: remove cgroup_create_legacy()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Mon, 19 Feb 2018 11:50:21 +0000 (12:50 +0100)]
cgroups: implement "driver" and "driver_version"
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Mon, 19 Feb 2018 11:33:41 +0000 (12:33 +0100)]
cgroups: remove legacy cgfs cgroup driver
The time has come to remove the cgfs cgroup driver as well. I'm doing this for
mainly two reasons:
- potential security issue:
The cgfs cgroup driver has been unmaintained for a long time now. It did not
receive new functionality apart from bugfixes. Now that cgroup2 is a thing
the internal logic how to deal with cgroups has been substantially reworked
for the cgfsng driver. Given that we won't do the same work for the cgfs
driver I smell bugs all over the place in the near future. I don't want to
wake up to a security issue where someone forces LXC to fallback to the cgfs
driver to exploit bugs when e.g. running in a pure unified cgroup layout.
- code complexity:
The cgfs cgroup driver is massively complex since it tried to figure out
where the mountpoint for each legacy cgroup hierarchy is, i.e. it didn't make
simplyfing assumptions like cgfsng does about where the cgroup hierarchies -
legacy or unified - would be mounted. This was appropriate before cgroup
mounting has been standardized. Nowadays, anyone who mounts cgroups not under
/sys/fs/cgroup is on their own. Furthermore, with unified hierarchy cgroup
layouts there will only be a single hierarchy mounted at /sys/fs/cgroup so
there's even less need to drag the complex parsing in cgfs into the future.
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Mon, 19 Feb 2018 11:30:51 +0000 (12:30 +0100)]
cgfsng: enable "force" for "cgroup-full"
This enables cgroup-full:{mixed,ro,rw}:force and reworks the mount logic.
When cgroup-full was specified we used to bind-mount the cgroups from the host.
That is pretty weird thing to do given that you can simply mount them directly
without going through bind-mounts.
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Mon, 19 Feb 2018 10:52:00 +0000 (11:52 +0100)]
start: cleanup namespace handling
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Mon, 19 Feb 2018 09:58:56 +0000 (10:58 +0100)]
utils: add lxc_set_death_signal()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Mon, 19 Feb 2018 09:23:08 +0000 (10:23 +0100)]
start: non-functional changes
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sun, 18 Feb 2018 23:49:47 +0000 (00:49 +0100)]
start: do_destroy_container()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sun, 18 Feb 2018 23:49:29 +0000 (00:49 +0100)]
start: lxc_destroy_container_on_signal()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sun, 18 Feb 2018 23:48:03 +0000 (00:48 +0100)]
start: post_start()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sun, 18 Feb 2018 23:47:46 +0000 (00:47 +0100)]
start: start()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sun, 18 Feb 2018 23:45:56 +0000 (00:45 +0100)]
start: lxc_start()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sun, 18 Feb 2018 23:37:27 +0000 (00:37 +0100)]
start: lxc_spawn()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sun, 18 Feb 2018 23:27:37 +0000 (00:27 +0100)]
start: do_start()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sun, 18 Feb 2018 23:18:08 +0000 (00:18 +0100)]
start: lxc_abort()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sun, 18 Feb 2018 23:15:34 +0000 (00:15 +0100)]
start: lxc_fini()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sun, 18 Feb 2018 23:11:17 +0000 (00:11 +0100)]
start: lxc_init()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sun, 18 Feb 2018 23:01:43 +0000 (00:01 +0100)]
start: lxc_init_handler()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sun, 18 Feb 2018 22:58:57 +0000 (23:58 +0100)]
start: simplify
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sun, 18 Feb 2018 22:51:58 +0000 (23:51 +0100)]
start: lxc_poll()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sun, 18 Feb 2018 22:49:16 +0000 (23:49 +0100)]
start: signal_handler()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sun, 18 Feb 2018 22:46:37 +0000 (23:46 +0100)]
start: lxc_check_inherited()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sun, 18 Feb 2018 22:43:43 +0000 (23:43 +0100)]
start: preserve_ns()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sun, 18 Feb 2018 22:42:05 +0000 (23:42 +0100)]
start: close_ns()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sun, 18 Feb 2018 22:41:21 +0000 (23:41 +0100)]
start: print_top_failing_dir()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sun, 18 Feb 2018 22:39:04 +0000 (23:39 +0100)]
start: use correct prefix for includes
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sun, 18 Feb 2018 22:20:05 +0000 (23:20 +0100)]
{commands,start}: remove element from list first
First remove the client from the list then close the fd. Otherwise we open
ourselves to a race where another codepath might be writing to a bad file
descriptor.
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sun, 18 Feb 2018 22:10:04 +0000 (23:10 +0100)]
tree-wide: remove locking around openpty()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sun, 18 Feb 2018 21:19:51 +0000 (22:19 +0100)]
start: remove duplicate lxc_monitor_send_state()
Closes #2177.
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sun, 18 Feb 2018 20:43:46 +0000 (21:43 +0100)]
lxccontainer: use wait_for_pid()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 17 Feb 2018 18:49:31 +0000 (19:49 +0100)]
cgfsng: __cg_unified_setup_limits()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 17 Feb 2018 18:48:59 +0000 (19:48 +0100)]
cgfsng: __cg_legacy_setup_limits()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 17 Feb 2018 18:47:23 +0000 (19:47 +0100)]
cgfsng: cg_legacy_set_data()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 17 Feb 2018 18:46:44 +0000 (19:46 +0100)]
cgfsng: convert_devpath()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 17 Feb 2018 18:45:12 +0000 (19:45 +0100)]
cgfsng: cgfsng_set()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 17 Feb 2018 18:44:52 +0000 (19:44 +0100)]
cgfsng: cgfsng_get()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 17 Feb 2018 18:44:21 +0000 (19:44 +0100)]
cgfsng: cgfsng_attach()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 17 Feb 2018 18:43:46 +0000 (19:43 +0100)]
cgfsng: __cg_unified_attach()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 17 Feb 2018 18:42:17 +0000 (19:42 +0100)]
cgfsng: build_full_cgpath_from_monitorpath()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
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>
Christian Brauner [Sat, 17 Feb 2018 12:37:20 +0000 (13:37 +0100)]
Merge pull request #2174 from brauner/2018-02-17/lxc-update-config_check_empty_args
cmd/lxc-update-config: check for empty arguments
Christian Brauner [Sat, 17 Feb 2018 12:36:31 +0000 (13:36 +0100)]
cmd/lxc-update-config: check for empty arguments
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Christian Brauner [Sat, 17 Feb 2018 12:08:32 +0000 (13:08 +0100)]
Merge pull request #2173 from brauner/2018-02-17/add_coverity_status
README: add coverity
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>
Serge Hallyn [Sat, 17 Feb 2018 00:51:56 +0000 (18:51 -0600)]
Merge pull request #2171 from brauner/2018-02-16/rework_hooks
conf: fix run_script_argv()
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 22:16:19 +0000 (23:16 +0100)]
Merge pull request #2172 from stgraber/master
Sabayon fixes
Stéphane Graber [Fri, 16 Feb 2018 21:50:45 +0000 (16:50 -0500)]
lxc-sabayon: Fix handling of eth0
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Stéphane Graber [Fri, 16 Feb 2018 21:49:02 +0000 (16:49 -0500)]
lxc-sabayon: Remove broken/unused code
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Christian Brauner [Fri, 16 Feb 2018 21:11:19 +0000 (22:11 +0100)]
conf: s/argsin/argv/ in run_script_argv()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>