mirror of
https://git.proxmox.com/git/mirror_lxc
synced 2025-07-25 22:16:25 +00:00
seccomp: don't support v2 if seccomp_syscall_resolve_name_arch is not avilable
Also don't use arm arch if not defined This *should* fix build so precise, but I didn't fire one off. I did test that builds with libseccomp2 still work as expected. Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com> Acked-by: Stéphane Graber <stgraber@ubuntu.com>
This commit is contained in:
parent
5a15791eb2
commit
2b0ae718c8
@ -274,6 +274,7 @@ AM_COND_IF([ENABLE_CAP],
|
|||||||
OLD_CFLAGS="$CFLAGS"
|
OLD_CFLAGS="$CFLAGS"
|
||||||
CFLAGS="$CFLAGS $SECCOMP_CFLAGS"
|
CFLAGS="$CFLAGS $SECCOMP_CFLAGS"
|
||||||
AC_CHECK_TYPES([scmp_filter_ctx], [], [], [[#include <seccomp.h>]])
|
AC_CHECK_TYPES([scmp_filter_ctx], [], [], [[#include <seccomp.h>]])
|
||||||
|
AC_CHECK_DECLS([seccomp_syscall_resolve_name_arch], [], [], [[#include <seccomp.h>]])
|
||||||
CFLAGS="$OLD_CFLAGS"
|
CFLAGS="$OLD_CFLAGS"
|
||||||
|
|
||||||
# Configuration examples
|
# Configuration examples
|
||||||
|
@ -57,6 +57,7 @@ static int parse_config_v1(FILE *f, struct lxc_conf *conf)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if HAVE_DECL_SECCOMP_SYSCALL_RESOLVE_NAME_ARCH
|
||||||
static void remove_trailing_newlines(char *l)
|
static void remove_trailing_newlines(char *l)
|
||||||
{
|
{
|
||||||
char *p = l;
|
char *p = l;
|
||||||
@ -109,6 +110,7 @@ static uint32_t get_and_clear_v2_action(char *line, uint32_t def_action)
|
|||||||
default: return ret;
|
default: return ret;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* v2 consists of
|
* v2 consists of
|
||||||
@ -126,7 +128,7 @@ static uint32_t get_and_clear_v2_action(char *line, uint32_t def_action)
|
|||||||
*/
|
*/
|
||||||
static int parse_config_v2(FILE *f, char *line, struct lxc_conf *conf)
|
static int parse_config_v2(FILE *f, char *line, struct lxc_conf *conf)
|
||||||
{
|
{
|
||||||
#if HAVE_SCMP_FILTER_CTX
|
#if HAVE_DECL_SECCOMP_SYSCALL_RESOLVE_NAME_ARCH
|
||||||
char *p;
|
char *p;
|
||||||
int ret;
|
int ret;
|
||||||
scmp_filter_ctx *ctx = NULL;
|
scmp_filter_ctx *ctx = NULL;
|
||||||
@ -189,9 +191,11 @@ static int parse_config_v2(FILE *f, char *line, struct lxc_conf *conf)
|
|||||||
else if (strcmp(line, "[X86_64]") == 0 ||
|
else if (strcmp(line, "[X86_64]") == 0 ||
|
||||||
strcmp(line, "[x86_64]") == 0)
|
strcmp(line, "[x86_64]") == 0)
|
||||||
arch = SCMP_ARCH_X86_64;
|
arch = SCMP_ARCH_X86_64;
|
||||||
|
#ifdef SCMP_ARCH_ARM
|
||||||
else if (strcmp(line, "[arm]") == 0 ||
|
else if (strcmp(line, "[arm]") == 0 ||
|
||||||
strcmp(line, "[ARM]") == 0)
|
strcmp(line, "[ARM]") == 0)
|
||||||
arch = SCMP_ARCH_ARM;
|
arch = SCMP_ARCH_ARM;
|
||||||
|
#endif
|
||||||
else
|
else
|
||||||
goto bad_arch;
|
goto bad_arch;
|
||||||
if (ctx) {
|
if (ctx) {
|
||||||
|
Loading…
Reference in New Issue
Block a user