diff options
author | sana kazi <sanakazisk19@gmail.com> | 2021-09-04 21:24:08 +0530 |
---|---|---|
committer | Bruce Ashfield <bruce.ashfield@gmail.com> | 2021-09-09 14:44:51 -0400 |
commit | 88a8ccb980038b2b91056f7df7fe96bbcc2744d8 (patch) | |
tree | 36e5a65e5be3818297b3c026786f81f1b790864b | |
parent | 5e108f459834eaa98abc2b59cb18c8f1bc0a8db2 (diff) | |
download | meta-virtualization-88a8ccb980038b2b91056f7df7fe96bbcc2744d8.tar.gz |
lxc: Enable seccomp support for lxc
Enabled seccomp support for lxc.
Also added a patch to enable seccomp.profile only when compiled with
libseccomp. Currently, seccomp.profile is silently ignored. This
could lead to the false impression that the seccomp filter is
applied while it actually isn't.
Signed-off-by: Sana Kazi <Sana.Kazi@kpit.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
-rw-r--r-- | recipes-containers/lxc/files/enable_seccomp_profile_when_compiled_libseccomp.patch | 46 | ||||
-rw-r--r-- | recipes-containers/lxc/lxc_4.0.9.bb | 2 |
2 files changed, 48 insertions, 0 deletions
diff --git a/recipes-containers/lxc/files/enable_seccomp_profile_when_compiled_libseccomp.patch b/recipes-containers/lxc/files/enable_seccomp_profile_when_compiled_libseccomp.patch new file mode 100644 index 00000000..f0a58139 --- /dev/null +++ b/recipes-containers/lxc/files/enable_seccomp_profile_when_compiled_libseccomp.patch | |||
@@ -0,0 +1,46 @@ | |||
1 | From 3d46e1d1f8e904fddd4fab3e8d0c6cf57d2ddd4e Mon Sep 17 00:00:00 2001 | ||
2 | From: Maximilian Blenk <Maximilian.Blenk@bmw.de> | ||
3 | Date: Mon, 23 Aug 2021 22:04:40 +0200 | ||
4 | Subject: [PATCH] config: enable seccomp profile only when compiled with | ||
5 | libseccomp | ||
6 | |||
7 | Make lxc fail if seccomp.profile is specified but lxc is compiled | ||
8 | without seccomp support. Currently, seccomp.profile is silently ignored | ||
9 | if is specified in such a scenario. This could lead to the false | ||
10 | impression that the seccomp filter is applied while it actually isn't. | ||
11 | |||
12 | Signed-off-by: Maximilian Blenk <Maximilian.Blenk@bmw.de> | ||
13 | --- | ||
14 | src/lxc/confile.c | 8 ++++++++ | ||
15 | 1 file changed, 8 insertions(+) | ||
16 | |||
17 | Upstream-Status: Submitted [https://github.com/lxc/lxc/pull/3947/commits/3d46e1d1f8e904fddd4fab3e8d0c6cf57d2ddd4e] | ||
18 | |||
19 | diff --git a/src/lxc/confile.c b/src/lxc/confile.c | ||
20 | index d8b96c6921..1cc8da15f1 100644 | ||
21 | --- a/src/lxc/confile.c | ||
22 | +++ b/src/lxc/confile.c | ||
23 | @@ -1211,7 +1211,11 @@ static int set_config_seccomp_notify_proxy(const char *key, const char *value, | ||
24 | static int set_config_seccomp_profile(const char *key, const char *value, | ||
25 | struct lxc_conf *lxc_conf, void *data) | ||
26 | { | ||
27 | +#ifdef HAVE_SECCOMP | ||
28 | return set_config_path_item(&lxc_conf->seccomp.seccomp, value); | ||
29 | +#else | ||
30 | + return ret_set_errno(-1, ENOSYS); | ||
31 | +#endif | ||
32 | } | ||
33 | |||
34 | static int set_config_execute_cmd(const char *key, const char *value, | ||
35 | @@ -4383,7 +4387,11 @@ static int get_config_seccomp_notify_proxy(const char *key, char *retv, int inle | ||
36 | static int get_config_seccomp_profile(const char *key, char *retv, int inlen, | ||
37 | struct lxc_conf *c, void *data) | ||
38 | { | ||
39 | +#ifdef HAVE_SECCOMP | ||
40 | return lxc_get_conf_str(retv, inlen, c->seccomp.seccomp); | ||
41 | +#else | ||
42 | + return ret_errno(ENOSYS); | ||
43 | +#endif | ||
44 | } | ||
45 | |||
46 | static int get_config_autodev(const char *key, char *retv, int inlen, | ||
diff --git a/recipes-containers/lxc/lxc_4.0.9.bb b/recipes-containers/lxc/lxc_4.0.9.bb index 0ef81a5a..67207339 100644 --- a/recipes-containers/lxc/lxc_4.0.9.bb +++ b/recipes-containers/lxc/lxc_4.0.9.bb | |||
@@ -49,6 +49,7 @@ SRC_URI = "http://linuxcontainers.org/downloads/${BPN}/${BPN}-${PV}.tar.gz \ | |||
49 | file://tests-add-no-validate-when-using-download-template.patch \ | 49 | file://tests-add-no-validate-when-using-download-template.patch \ |
50 | file://dnsmasq.conf \ | 50 | file://dnsmasq.conf \ |
51 | file://lxc-net \ | 51 | file://lxc-net \ |
52 | file://enable_seccomp_profile_when_compiled_libseccomp.patch \ | ||
52 | " | 53 | " |
53 | 54 | ||
54 | SRC_URI[md5sum] = "365fcca985038910e19a1e0fff15ed07" | 55 | SRC_URI[md5sum] = "365fcca985038910e19a1e0fff15ed07" |
@@ -72,6 +73,7 @@ EXTRA_OECONF += "--enable-log-src-basename --disable-werror" | |||
72 | PACKAGECONFIG ??= "templates \ | 73 | PACKAGECONFIG ??= "templates \ |
73 | ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \ | 74 | ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \ |
74 | ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)} \ | 75 | ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)} \ |
76 | ${@bb.utils.contains('DISTRO_FEATURES', 'seccomp', 'seccomp', '', d)} \ | ||
75 | " | 77 | " |
76 | PACKAGECONFIG[doc] = "--enable-doc --enable-api-docs,--disable-doc --disable-api-docs,," | 78 | PACKAGECONFIG[doc] = "--enable-doc --enable-api-docs,--disable-doc --disable-api-docs,," |
77 | PACKAGECONFIG[rpath] = "--enable-rpath,--disable-rpath,," | 79 | PACKAGECONFIG[rpath] = "--enable-rpath,--disable-rpath,," |