Christian Brauner
ac01a9b83c
cgroups: switch controller delegation to fd-only operations
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-02 13:51:00 +01:00
Christian Brauner
6d15354365
cgroups: add unified_cgroup_fd() helper
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-02 13:46:03 +01:00
Christian Brauner
3c5fa7f3e8
file_utils: harden lxc_writeat()
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-02 13:45:26 +01:00
Christian Brauner
87c7dbcb9c
file_utils: harden lxc_open_dirfd()
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-02 13:45:11 +01:00
Christian Brauner
bcf9793d43
syscall_wrappers: add PROTECT_OPEN_W_* variants
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-02 13:44:37 +01:00
Christian Brauner
4c6c4794dc
memory_utils: add close_prot_errno_mov()
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-02 13:44:13 +01:00
Christian Brauner
e18aba7d2a
attach: move loading seccomp as late as possible
...
We want to minimize the change that the profile blocks syscalls we need during
attach setup and has the notifier enabled.
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-02 10:51:06 +01:00
Christian Brauner
92466fe34b
attach: move file descriptor closing into attach_context_container()
...
This reduces the possibility of forgetting to close the namespace file
descriptors when we change this codepath.
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-02 10:51:03 +01:00
Christian Brauner
72a19d2f38
attach: stricter lookup semantics for fdopen_at() calls
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-02 09:54:10 +01:00
Stéphane Graber
c7d644983f
Merge pull request #3645 from brauner/2021-02-01/fixes_4
...
attach: bugfixes
2021-02-01 17:13:37 -05:00
Christian Brauner
4ac35afb78
confile_utils: use lxc_log_trace()
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-01 22:54:47 +01:00
Christian Brauner
62fef886dc
conf: use lxc_log_trace()
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-01 22:53:56 +01:00
Christian Brauner
570e117338
commands_utils: don't leak memory
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-01 22:47:19 +01:00
Christian Brauner
52ed870ed0
attach: use correct put method
...
Fixes: Coverity 1472763
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-01 22:13:03 +01:00
Christian Brauner
cd5f35ec67
attach: prevent UAF
...
Fixes: Coverity 1472761
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-01 22:11:38 +01:00
Stéphane Graber
32947602fd
Merge pull request #3644 from brauner/2021-02-01/fixes_3
...
attach: harden open() calls
2021-02-01 15:26:08 -05:00
Christian Brauner
6f0c2cea14
attach: file descriptor based fdinfo handling
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-01 20:27:53 +01:00
Christian Brauner
8e5d175935
file_utils: remove O_NOFOLLOW from open_at() defaults
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-01 20:27:53 +01:00
Christian Brauner
6fc8a0dd82
lsm: harden read_file_at()
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-01 20:27:53 +01:00
Christian Brauner
46bf13b7c3
tree-wide: extend read_file_at()
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-01 20:27:53 +01:00
Christian Brauner
5129b2d3ed
attach: harden open calls
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-01 20:27:51 +01:00
Christian Brauner
cce677d168
syscall_wrappers: add PROTECT_LOOKUP, PROTECT_OPEN, PROTECT_LOOKUP_WITH_SYMLINKS, PROTECT_OPEN_WITH_TRAILING_SYMLINKS
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-01 19:02:28 +01:00
Christian Brauner
7166ab759e
file_utils: add open_at()
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-01 17:03:59 +01:00
Stéphane Graber
42673edd05
Merge pull request #3642 from brauner/2021-02-01/fixes
...
attach: rework id handling
2021-02-01 10:17:18 -05:00
Stéphane Graber
2b5259634a
Merge pull request #3643 from brauner/2021-02-01/fixes_2
...
cgroups: remove pointless NULL checks
2021-02-01 10:14:49 -05:00
Christian Brauner
ed75d76e70
cgroups: initialize variable
...
Fixes: Coverity 1472651
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-01 15:44:59 +01:00
Christian Brauner
bb6dbaf0df
cgroups: remove pointless NULL checks
...
We're already ensuring before that conf isn't NULL.
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-01 15:24:05 +01:00
Christian Brauner
3ac4480a6c
attach: stash host uid and host gid in attach_context
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-01 15:16:56 +01:00
Christian Brauner
40301d4895
attach: fix error checking for dup2()
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-01 14:51:41 +01:00
Christian Brauner
93b9960a09
attach: fix logging for stdfd replacement
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-01 14:50:55 +01:00
Christian Brauner
a7563434ac
attach: log failues to dup2() with SYSDEBUG()
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-01 14:44:45 +01:00
Christian Brauner
7e90889dbd
utils: use SYSTRACE() when logging stdio permission fixup failures
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-01 14:41:18 +01:00
Christian Brauner
20718e3987
attach: document attach_context
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-01 14:41:09 +01:00
Christian Brauner
595798bbca
attach: simplify opening of /proc/self
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-01 14:41:09 +01:00
Christian Brauner
4475fabb0e
attach: move uid and gid handling to get_attach_context()
...
the less we do in do_attach(), the better.
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-01 14:41:08 +01:00
Christian Brauner
bac33ebdcb
attach: initialize init_pid field to -ESRCH
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-01 12:30:03 +01:00
Christian Brauner
9680e7b062
attach: unifiy /proc/<init-pid>/status parsing
...
and move it out of do_attach(). The less we do in the container's context the
better.
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-01 12:29:59 +01:00
Christian Brauner
a60d8c4ea7
file_utils: add fdopenat()
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-02-01 11:32:46 +01:00
Stéphane Graber
326bb02cbb
Merge pull request #3641 from brauner/2021-01-30/fixes
...
attach: pidfd-based hardening and file-descriptor-only LSM interactions
2021-01-31 17:13:25 -05:00
Christian Brauner
fbf281d3f4
lsm/apparmor: cleanup apparmor_process_label_set()
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-01-31 22:26:31 +01:00
Christian Brauner
d87640256f
attach: hardening through use of pidfds
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-01-31 22:26:28 +01:00
Christian Brauner
afc691a01a
attach: file descriptors based LSM handling
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-01-31 21:39:20 +01:00
Christian Brauner
ca76baed10
cgroups: align methods
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-01-31 20:38:40 +01:00
Stéphane Graber
ee4aad1e1f
Merge pull request #3639 from brauner/2021-01-28/fixes
...
cgroups: fixes and improvements
2021-01-30 14:23:25 -05:00
Christian Brauner
7d2f7ae185
cgroups: use PTR_TO_U64()
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-01-30 17:28:32 +01:00
Christian Brauner
640952e538
attach: don't needless check for NULL
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-01-30 17:07:55 +01:00
Christian Brauner
de96cd600c
log: add lxc_log_trace() helper
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-01-30 16:58:00 +01:00
Christian Brauner
4a888de15d
cgroups: use bpf log when logging at trace level
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-01-30 16:55:52 +01:00
Christian Brauner
25a8b256af
seccomp: use lxc_log_get_level()
...
This will now enable LXD users to dump the seccomp filter in the log when
logging at TRACE level.
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-01-30 12:10:21 +01:00
Christian Brauner
09c8768a0b
log: rework lxc_log_get_level()
...
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-01-30 12:10:09 +01:00