Commit Graph

485 Commits

Author SHA1 Message Date
Christian Brauner
2b2655a8c5
coverity: #1425744
Dereference after null check

userns_exec_{1,full} are called from functions that might not have a conf.

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2018-05-10 20:24:49 +02:00
Christian Brauner
cef701ede3
coverity: #1435263
Use after free

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2018-04-30 12:18:23 +02:00
Christian Brauner
e62fd16fff
lxccontainer: non-functional changes
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2018-04-29 16:58:06 +02:00
Christian Brauner
630ac7c61b
lxccontainer: non-functional changes
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2018-04-29 16:56:58 +02:00
Christian Brauner
9640c6a767
lxccontainer: non-functional changes
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2018-04-29 16:45:43 +02:00
Christian Brauner
7cea590585
lxccontainer: use thread-safe open() + write()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2018-04-29 16:42:44 +02:00
Christian Brauner
d630991d8f
lxccontainer: non-functional changes
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2018-04-29 15:08:46 +02:00
Christian Brauner
e898947399
lxccontainer: do_lxcapi_unfreeze()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2018-04-29 14:53:12 +02:00
Christian Brauner
5df46fad0c
lxccontainer: do_lxcapi_freeze()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2018-04-29 14:52:40 +02:00
Christian Brauner
9e6304187b
lxccontainer: do_lxcapi_is_running()
There's no need to do string comparisons.

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2018-04-29 14:49:36 +02:00
Christian Brauner
44619b6cd2
lxccontainer: non-functional changes
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2018-04-29 14:48:08 +02:00
Christian Brauner
5647455516
lxccontainer: use thread-safe *_OFD_* locks
If they aren't available fallback to BSD flock()s.

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2018-04-29 13:56:15 +02:00
Christian Brauner
0e14584db8
lxccontainer: non-functional changes
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2018-04-29 13:39:16 +02:00
Christian Brauner
ad38dca193
Merge pull request #2279 from kunkku/create-umask
do_lxcapi_create: set umask
2018-04-28 23:23:27 +02:00
LiFeng
e07eafa839 Fix memory leak in list_active_containers
Signed-off-by: LiFeng <lifeng68@huawei.com>
2018-04-24 15:26:32 -04:00
Kaarle Ritvanen
51f0f73b4f do_lxcapi_create: set umask
Always use 022 as the umask when creating the rootfs directory and
executing the template. A too loose umask may cause security issues.
A too strict umask may cause programs to fail inside the container.

Signed-off-by: Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>
2018-04-15 16:09:41 +03:00
Christian Brauner
10034af509
lxccontainer: truncate config file
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2018-03-23 20:30:38 +01:00
Christian Brauner
12e6ab5d23
tree-wide: remove aufs storage driver
We've announced quite a while back and printed out errors and warning everytime
someone used the aufs driver.

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2018-03-15 17:24:49 +01:00
Tycho Andersen
a3b4f3d680 fix handler use-after-free
The problem here is that __lxc_start frees the handler, so any use
afterwards is invalid. Since we don't have access to the actual struct
lxc_container object in __lxc_start, let's pass a pointer to error_num in
so it can be returned.

Unfortunately, I'm a little too paranoid to change the return type of
lxc_start, since it returns failure if some of the cleanup fails, which
may be useful in some cases. So let's keep this out of band.

Closes #2218
Closes #2219

Reported-by: Felix Abecassis <fabecassis@nvidia.com>
Signed-off-by: Tycho Andersen <tycho@tycho.ws>
2018-03-15 15:29:27 +00:00
Christian Brauner
0ed9b1bc5c
tree-wide: console.<c,h> -> terminal.<c,h>
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2018-02-27 22:49:54 +01:00
Christian Brauner
c86e25841c
console: lxc_terminal_getfd()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2018-02-27 22:25:05 +01:00
Christian Brauner
dfa7eaeb21
lxccontainer: create_container_dir()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2018-02-24 21:38:38 +01:00
Christian Brauner
78d44e5af5
lxccontainer: do_create_container_dir()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2018-02-24 21:38:37 +01:00
Christian Brauner
9f52e3317d
lxccontainer: lxcapi_startl()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2018-02-24 21:38:36 +01:00
Christian Brauner
0c14779f09
lxccontainer: lxcapi_start()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2018-02-24 21:38:35 +01:00
Christian Brauner
702bf732f8
lxccontainer: free_init_cmd()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2018-02-24 21:38:33 +01:00
Christian Brauner
75bd13abd3
lxccontainer: split_init_cmd()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2018-02-24 21:38:32 +01:00
Christian Brauner
1452d3fe06
lxccontainer: push_arg()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2018-02-24 21:38:31 +01:00
Christian Brauner
6b0297e327
lxccontainer: am_single_threaded()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2018-02-24 21:38:30 +01:00
Christian Brauner
e202dfb821
lxccontainer: do_lxcapi_wait()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2018-02-24 21:38:29 +01:00
Christian Brauner
871ed23baa
lxccontainer: do_lxcapi_want_close_all_fds()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2018-02-24 21:38:27 +01:00
Christian Brauner
fb5999f65f
lxccontainer: do_lxcapi_want_daemonize()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2018-02-24 21:38:26 +01:00
Christian Brauner
d03ab308a7
lxccontainer: do_lxcapi_load_config()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2018-02-24 21:38:25 +01:00
Christian Brauner
e3246ab9c8
lxccontainer: load_config_locked()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2018-02-24 21:38:24 +01:00
Christian Brauner
49cfedb329
lxccontainer: lxcapi_console()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2018-02-24 21:38:23 +01:00
Christian Brauner
37dce81753
lxccontainer: do_lxcapi_console_getfd()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2018-02-24 21:38:22 +01:00
Christian Brauner
8e59e0bab2
lxccontainer: do_lxcapi_unfreeze()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2018-02-24 21:38:20 +01:00
Christian Brauner
8787b387db
lxccontainer: do_lxcapi_freeze()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2018-02-24 21:38:19 +01:00
Christian Brauner
1b61062fa7
lxccontainer: do_lxcapi_is_running()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2018-02-24 21:38:18 +01:00
Christian Brauner
5bddcb62d2
lxccontainer: is_stopped()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2018-02-24 21:38:17 +01:00
Christian Brauner
b547d79fb9
lxccontainer: do_lxcapi_state()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2018-02-24 21:38:14 +01:00
Christian Brauner
428ad142f2
lxccontainer: do_lxcapi_is_defined()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2018-02-24 21:38:13 +01:00
Christian Brauner
045552aabe
lxccontainer: lxc_container_{get,put}()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2018-02-24 21:38:11 +01:00
Christian Brauner
70849dc234
lxccontainer: lxc_container_free()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2018-02-24 21:38:10 +01:00
Christian Brauner
a3740e805a
lxccontainer: create_partial()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2018-02-24 21:38:09 +01:00
Christian Brauner
f5cd0252f7
lxccontainer: create_partial()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2018-02-24 21:38:07 +01:00
Christian Brauner
444249ea2f
lxccontainer: ongoing_create()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2018-02-24 21:38:06 +01:00
Christian Brauner
ef1ab8f10d
lxccontainer: config_file_exists()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2018-02-24 21:38:05 +01:00
Christian Brauner
238b3e5ea4
lxccontainer: move macros to utils.h
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2018-02-24 21:38:03 +01:00
Christian Brauner
0e1a60b0fb
lxccontainer: do_lxcapi_save_config()
If liblxc is used multi-threaded do_lxcapi_save_config() could be called from
threads that fork() which to not risk ending up with invalid locking states we
should avoid using functions like fopen() that internally allocate memory and
use locking. Let's replace it with the async-signal safe combination of
open() + write().

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2018-02-24 21:38:02 +01:00