From 17d20bb3cbb233ed0d94c3f1f9f3db768f526223 Mon Sep 17 00:00:00 2001 From: Philipp Stephani Date: Mon, 12 Apr 2021 09:15:59 +0200 Subject: [PATCH] Generate Seccomp filters only if we have the necessary constants. If we're missing SECCOMP_SET_MODE_FILTER, the seccomp-filter build fails. Reuse the existing HAVE_SECCOMP configuration variable, which checks for these macros. * configure.ac (HAVE_SECCOMP): Substitute in Makefile.in. * lib-src/Makefile.in (HAVE_SECCOMP): New variable. (SECCOMP_FILTER): Define only if HAVE_SECCOMP. --- configure.ac | 1 + lib-src/Makefile.in | 3 +++ 2 files changed, 4 insertions(+) diff --git a/configure.ac b/configure.ac index 169ffc55341..d3647bdc2a2 100644 --- a/configure.ac +++ b/configure.ac @@ -4188,6 +4188,7 @@ AC_CHECK_HEADERS( [[ #include ]])]) +AC_SUBST([HAVE_SECCOMP]) EMACS_CHECK_MODULES([LIBSECCOMP], [libseccomp >= 2.4.0]) AC_SUBST([HAVE_LIBSECCOMP]) diff --git a/lib-src/Makefile.in b/lib-src/Makefile.in index 091f4fb0199..923d0cf5e72 100644 --- a/lib-src/Makefile.in +++ b/lib-src/Makefile.in @@ -189,11 +189,13 @@ LIB_WSOCK32=@LIB_WSOCK32@ ## Extra libraries for etags LIBS_ETAGS = $(LIB_CLOCK_GETTIME) $(LIB_GETRANDOM) +HAVE_SECCOMP=@HAVE_SECCOMP@ HAVE_LIBSECCOMP=@HAVE_LIBSECCOMP@ LIBSECCOMP_LIBS=@LIBSECCOMP_LIBS@ LIBSECCOMP_CFLAGS=@LIBSECCOMP_CFLAGS@ # Currently, we can only generate seccomp filter files for x86-64. +ifeq ($(HAVE_SECCOMP),yes) ifeq ($(HAVE_LIBSECCOMP),yes) ifeq ($(shell uname -m),x86_64) # We require SECCOMP_RET_KILL_PROCESS, which is only available in @@ -205,6 +207,7 @@ SECCOMP_FILTER=1 endif endif endif +endif ifeq ($(SECCOMP_FILTER),1) DONT_INSTALL += seccomp-filter$(EXEEXT) -- 2.39.2