summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--recipes-containers/lxc/files/enable_seccomp_profile_when_compiled_libseccomp.patch46
-rw-r--r--recipes-containers/lxc/lxc_4.0.9.bb2
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 @@
1From 3d46e1d1f8e904fddd4fab3e8d0c6cf57d2ddd4e Mon Sep 17 00:00:00 2001
2From: Maximilian Blenk <Maximilian.Blenk@bmw.de>
3Date: Mon, 23 Aug 2021 22:04:40 +0200
4Subject: [PATCH] config: enable seccomp profile only when compiled with
5 libseccomp
6
7Make lxc fail if seccomp.profile is specified but lxc is compiled
8without seccomp support. Currently, seccomp.profile is silently ignored
9if is specified in such a scenario. This could lead to the false
10impression that the seccomp filter is applied while it actually isn't.
11
12Signed-off-by: Maximilian Blenk <Maximilian.Blenk@bmw.de>
13---
14 src/lxc/confile.c | 8 ++++++++
15 1 file changed, 8 insertions(+)
16
17Upstream-Status: Submitted [https://github.com/lxc/lxc/pull/3947/commits/3d46e1d1f8e904fddd4fab3e8d0c6cf57d2ddd4e]
18
19diff --git a/src/lxc/confile.c b/src/lxc/confile.c
20index 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
54SRC_URI[md5sum] = "365fcca985038910e19a1e0fff15ed07" 55SRC_URI[md5sum] = "365fcca985038910e19a1e0fff15ed07"
@@ -72,6 +73,7 @@ EXTRA_OECONF += "--enable-log-src-basename --disable-werror"
72PACKAGECONFIG ??= "templates \ 73PACKAGECONFIG ??= "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"
76PACKAGECONFIG[doc] = "--enable-doc --enable-api-docs,--disable-doc --disable-api-docs,," 78PACKAGECONFIG[doc] = "--enable-doc --enable-api-docs,--disable-doc --disable-api-docs,,"
77PACKAGECONFIG[rpath] = "--enable-rpath,--disable-rpath,," 79PACKAGECONFIG[rpath] = "--enable-rpath,--disable-rpath,,"